[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Переменная в теле функции без $
konstantin1985

Почему в функции переменная _primaryKey без $

protected $_primaryKey = 'id';


public function getPrimaryKeyName()
{
return $this->_primaryKey;
}
GET
$this->_primaryKey - вызывает переменную "_primaryKey" (или метод), объявленную и используемую внутри класса.

Для простоты $this-> можно читать, как "из этого класса":

Из этого класса переменная _primaryKey

или

Из этого класса метод my_print()

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
sergeiss
Цитата (konstantin1985 @ 2.01.2016 - 13:45)
Почему в функции переменная _primaryKey без $

Потому что эта переменная не _primaryKey, а именно $this->_primaryKey (когда вызываешь из методов). То есть, у нее длинное имя. А в начале есть "доллар".

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Игорь_Vasinsky
это обращение к свойству класса)

class Foo(){
public $_primaryKey = 'id';

...
...

}


например

$this - ссылка на экземпляр класса (внутри класса)

вот по синтаксису так и выходит - для обращению к public $_primaryKey
используют $this->_primaryKey

eg

class Foo(){
public $_primaryKey = 'id';

public function __construct($_primaryKey = null){
is_null($_primaryKey ){
$this->_primaryKey = 'uid';
}
}
}


и теперь

$obj = new Foo('fid');
echo $obj->_primaryKey; //fid


$obj = new Foo(null);
echo $obj->_primaryKey; //uid


или для предыдущего


$obj = new Foo(); //будет использован аргумент по умолчанию
echo $obj->_primaryKey; //uid


пример рукожопый, т.к. можно и


class Foo(){
public $_primaryKey = 'id';

public function __construct(){

}
}


$obj = new Foo();
echo $obj->_primaryKey; //id



$obj = new Foo();
$obj->_primaryKey = 'fid';
echo $obj->_primaryKey; //fid


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.