Próbuję użyć self
Zamiast wpisywać nazwę klasy wewnątrz propery_exists
funkcji w następujący sposób:Wskazówka: użycie niezdefiniowanej stałej jaźni - zakłada „ja”, gdy umieścić w property_exists jako pierwszy argument
private static function instantiate($record){
$user = new self;
foreach($record as $name => $value){
if(isset($user->$name) || property_exists(self, $name)){
$user->$name = $value;
}
}
return $user;
}
ale kiedy prowadził ten skrypt to pojawia się błąd:
Wskazówka: użycie niezdefiniowanej stałej samo - zakładany „ja” w /var/www/photo_gallery/includes/User.php na linii 36
Linia 36 to linia, na której wywoływana jest metoda property_exists
.
Po zmianie nazwy na User
(nazwa klasy). Działa idealnie.
Chciałbym wiedzieć, dlaczego przy użyciu takiego powiadomienia jest używane self
? Czy self
nie odnosi się do klasy?
Bardzo ładne. Dzięki, Vahid. –