что означает эта строка кода yii framework? - PullRequest
2 голосов
/ 18 декабря 2011

Я новичок в php и yii framework.Я начал разрабатывать простое приложение, используя инфраструктуру yii, и вижу это во многих местах:

yii::app()

Может кто-нибудь объяснить мне, что означает этот синтаксис и является ли это специфичным для PHP способом программирования?

Ответы [ 5 ]

5 голосов
/ 18 декабря 2011

То есть вызов статического метода app для класса yii.

Оператор разрешения области действия

3 голосов
/ 18 декабря 2011

Я не знаю фреймворка Yii, но могу сказать, что yii является классом , а app() является статическим методом (или функцией) этого class .

Статические свойства не могут быть доступны через объект с помощью оператора стрелки ->.

При вызове нестатических методов статически генерируется предупреждение уровня E_STRICT.

Например, поскольку app() является статическим методом, это не разрешено:

$yiiInstance = new yii();
$yiiInstance->app();  // triggers E_STRICT warning because app is static
1 голос
/ 18 декабря 2011

Двойное двоеточие - это «оператор разрешения области видимости».http://www.phpbuilder.com/manual/language.oop5.paamayim-nekudotayim.php

1 голос
/ 18 декабря 2011

Это стандартный синтаксис PHP для вызова статической функции:

Это просто вызов функции app из класса yii, статически.

0 голосов
/ 18 декабря 2011

Хотя остальные ответы верны, Yii :: app () статический метод предназначен для получения экземпляра приложения.

Это объектно-ориентированная версия глобальной переменной. Почти все модули, компоненты и расширения связаны с экземпляром приложения, поэтому он так распространен. Например, если вы хотите зарегистрировать сценарий, вы должны использовать прикладной компонент clientScript Yii :: app () -> clientScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...