$foo::test();
Не знаю почему, но мне такой вид записи нравится)
Это что-то вроде унаследования классов, мм, в смысле класс внутри класса. Подскажите, что да как, и желательно с примерами) Я просто не знаю, как это обозвать, тогда погуглил бы)
Спустя 1 минута, 36 секунд (25.01.2011 - 20:24) twin написал(а):
Статические свойства и методы гугли. Тут глянь за одно.
Спустя 28 минут, 15 секунд (25.01.2011 - 20:53) fallow написал(а):
:: - оператор разрешения области видимости, с помощью него можно обращаться к public static членам либо методам напрямую без создания обьекта.
Спустя 2 часа, 3 минуты, 11 секунд (25.01.2011 - 22:56) linker написал(а):
В пыхе 5.3.х такое работает, 5.2.х - нет. Сие означает - доступ к статическим методам, полям, константам класса. Статические поля, методы принадлежат классу, а не объектам данного класса.
Спустя 1 минута, 53 секунды (25.01.2011 - 22:58) Basili4 написал(а):
linker
хочешь сказать что в пыхе младше 5.3 нет статичных методов ??? о_О
хочешь сказать что в пыхе младше 5.3 нет статичных методов ??? о_О
Спустя 55 секунд (25.01.2011 - 22:59) linker написал(а):
Вот такая запись $foo::test(); возможно только в 5.3.х и то я могу ошибаться, у меня сейчас 5.3.3
Спустя 2 минуты, 53 секунды (25.01.2011 - 23:02) twin написал(а):
Спокойно работает на 5.2.4
Спустя 2 минуты, 21 секунда (25.01.2011 - 23:04) linker написал(а):
5.2.10 - не работает - Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM
Спустя 5 минут, 18 секунд (25.01.2011 - 23:09) Basili4 написал(а):
linker
а ты метод объявил как static ???
а ты метод объявил как static ???
Спустя 3 минуты, 41 секунда (25.01.2011 - 23:13) linker написал(а):
Basili4
Естественно, я ж не зеленый нуб. 5.1.2 - тоже не работает. Жаль негде мне проверить на 5.3.0, 5.3.2.
Естественно, я ж не зеленый нуб. 5.1.2 - тоже не работает. Жаль негде мне проверить на 5.3.0, 5.3.2.
Спустя 13 минут, 36 секунд (25.01.2011 - 23:26) T1grOK написал(а):
У меня на 5.2.3 работает без вопросов
Спустя 34 минуты, 33 секунды (26.01.2011 - 00:01) glock18 написал(а):
Не работает в 5.2.x и ранее. Глаза разуйте:
$foo::test();
позднее статическое связывание реализовано только в ветке 5.3.x, так что linker прав
ЗЫ: запись Foo::test() пашет в 5.0.х, кажется, даже или с 5.1.х.
ТС, мне кажется, просто всех в заблуждение ввел изначально тем, что скорее всего доллар поставил по незнанию
![laugh.gif](http://phpforum.ru/html/emoticons/laugh.gif)
![laugh.gif](http://phpforum.ru/html/emoticons/laugh.gif)
$foo::test();
позднее статическое связывание реализовано только в ветке 5.3.x, так что linker прав
ЗЫ: запись Foo::test() пашет в 5.0.х, кажется, даже или с 5.1.х.
ТС, мне кажется, просто всех в заблуждение ввел изначально тем, что скорее всего доллар поставил по незнанию
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 26 минут, 11 секунд (26.01.2011 - 00:27) linker написал(а):
Статические методы появились с самой первой версией пятого PHP.
Спустя 2 минуты, 35 секунд (26.01.2011 - 00:30) Basili4 написал(а):
Цитата (linker @ 26.01.2011 - 01:27) |
Статические методы появились с самой первой версией пятого PHP. |
о это больше похоже на правду
Спустя 1 минута, 24 секунды (26.01.2011 - 00:31) linker написал(а):
static method и last static binding разные понятия, короче придет ТС и все рассудит.
Спустя 1 день, 12 часов, 44 минуты, 14 секунд (27.01.2011 - 13:15) ihatemac написал(а):
Спустя 19 дней, 3 часа, 43 минуты, 18 секунд (18.02.2011 - 16:59) alex12060 написал(а):
Да, прошу прощения)
Доллар будет лишний здесь)
Доллар будет лишний здесь)
Спустя 1 день, 5 часов, 34 секунды (19.02.2011 - 21:59) gidrosoldat написал(а):
Цитата (fallow @ 25.01.2011 - 17:53) |
:: - оператор разрешения области видимости, с помощью него можно обращаться к public static членам либо методам напрямую без создания обьекта. |
Мне кажется не только к статическим. В связке с parent и self методы и свойства не обязательно должны быть статическими. Или я не прав?
Спустя 1 день, 12 часов, 25 минут, 55 секунд (21.02.2011 - 10:25) linker написал(а):
В PHP 5.3.x обязаны. Единственно исключение для parent::method().
Спустя 9 часов, 21 минута, 36 секунд (21.02.2011 - 19:47) gidrosoldat написал(а):
Забавно, что сам ПХП использует такой синтаксис в описании ошибок.
Например, если обратиться к неопределенному методу method() в классе Class, то он выдаст:
Fatal error: Call to undefined method Class::method()
Причем по всем фунциям, не только по статическим. Вам не кажется, что такие описания ошибок могут попросту запутать? )
Например, если обратиться к неопределенному методу method() в классе Class, то он выдаст:
Fatal error: Call to undefined method Class::method()
Причем по всем фунциям, не только по статическим. Вам не кажется, что такие описания ошибок могут попросту запутать? )
Спустя 13 часов, 48 минут, 34 секунды (22.02.2011 - 09:35) linker написал(а):
Методы описываются в классе, а не в объектах. В данном случае речь идет не в принадлежности чему-то, а в расположении описания. Поэтому PHP правильно выдает ошибки.
Спустя 1 день, 6 минут, 16 секунд (23.02.2011 - 09:42) gidrosoldat написал(а):
С моей (нубовской) колокольни, видиться так:
Fatal error: Call to undefined method method() in Class
Так все ясно, и двоеточия уж точно никого в заблуждения не введут ))
Fatal error: Call to undefined method method() in Class
Так все ясно, и двоеточия уж точно никого в заблуждения не введут ))
Спустя 1 день, 18 минут, 31 секунда (24.02.2011 - 10:00) linker написал(а):
gidrosoldat
Ну скажи это разрабам PHP
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)