[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вызов статического метода
J1upuk

<?php
class
Foo
{
static function bar()
{
echo 'BARRR!';
}
}


$obj = new Foo();
$obj->bar(); // BARRR!


Как так? Почему статический метод вызывается у объекта? Это же метод класса!?
Игорь_Vasinsky
Цитата
$obj = new Foo();
$obj->bar(); // BARRR!

тыж объект создал))

вызови так

Foo::bar();


и не используй echo для вывода информации из метода - для этого существует return
даже в абстрактных примерах. дурной пример заразителен.

_____________
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
twin
Цитата (Игорь_Vasinsky @ 6.10.2015 - 08:44)
и не используй echo для вывода информации из метода - для этого существует return

Да ладно smile.gif А в рендерах?

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
J1upuk
Игорь_Vasinsky
Ну это понятно что я создал объект, но у этого объекта метода не должно быть, он же статический! Он есть у класса, но не у объекта, не зря к нему через указатель $this нельзя обратиться, и в нём самом $this использовать нельзя, ибо он не принадлежит конкретному объекту.
Игорь_Vasinsky
twin
не понял.

_____________
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
Dezigo
Вы можете вызвать static из объекта (это не правильно), но всё равно вызовется метод как статик.

Только вот проблема будет, когда вы попытаетесь вызвать $this в внутри static.
Using $this when not in object context
В PHP объект содержит информацию об методах даже статичных, поэтому можно к нему достучаться из объекта.
Быстрый ответ:

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