Возможный дубликат:
PHP: self vs this
Здравствуйте,
Не могли бы вы помочь мне понять смысл имени переменной PHP $this
?
Благодарим вас за помощь.
Возможный дубликат:
PHP: self vs this
Здравствуйте,
Не могли бы вы помочь мне понять смысл имени переменной PHP $this
?
Благодарим вас за помощь.
$this
относится к классу, в котором вы находитесь.
Например
Class Car {
function test() {
return "Test function called";
}
function another_test() {
echo $this->test(); // This will echo "Test function called";
}
}
Надеюсь, что это поможет.
Возможно, вам стоит взглянуть на ответы в В PHP5, в чем разница между использованием self и $this? Когда каждый из них подходит?
В принципе, $this
относится к текущему объекту.
$this
- защищенная переменная, которая используется внутри объекта, $this
позволяет вам получить доступ к файлу класса внутри.
Пример
Class Xela
{
var age; //Point 1
public function __construct($age)
{
$this->setAge($age); //setAge is called by $this internally so the private method will be run
}
private function setAge($age)
{
$this->age = $age; //$this->age is the variable set at point 1
}
}
В основном проблема с переменной областью видимости, $this
разрешена только в объекте, который был инициирован, и ссылается только на этот объект и его родителей, вы можете запускать частные методы и устанавливать частные переменные, где в качестве внешней области вы не можете.
также ключевое слово self
очень похоже, кроме того, что оно относится к статическим методам внутри класса, static в основном означает, что вы не можете использовать $this
как еще не объект, вы должны использовать self::setAge();
, и если это setAge
объявляется статическим, поэтому вы не можете вызвать его с момента этого объекта /object
Некоторые ссылки для вас: