php5 static method
2 отговора
199 прегледа
php5 static method
Имам следното:
class Bar
{
public static $my_static = 'bar';
public static function staticValue() {
return 'foo';
}
}
$bar = new Bar();
print $bar->staticValue();
Немога да разбера , защо това печати foo при мен, предвид това:
"A member or method declared with static can not be accessed with a variable that is an instance of the object and cannot be re-defined in an extending class."
class Bar
{
public static $my_static = 'bar';
public static function staticValue() {
return 'foo';
}
}
$bar = new Bar();
print $bar->staticValue();
Немога да разбера , защо това печати foo при мен, предвид това:
"A member or method declared with static can not be accessed with a variable that is an instance of the object and cannot be re-defined in an extending class."
Re: php5 static method
В момента има рaзминавaне между документцията и кода на PHP5. Смисълa на static е да даде _допълнителната_ възможност една функция да се вика в стaтичен контекст (без $this). Т.е. static не е ограничение, а допълнителна възможност за static функциите. Не знам защо е реализирано така но в кода на PHP5 си личи ясно че е преднамерено направено.
Re: php5 static method
Във всички обектно ориентирани езици е така, за статичен метод не ти трябва обект, но и с обект става.
Така, че нормално и в php да го направят, да не се бърка народа.
Така, че нормално и в php да го направят, да не се бърка народа.