пытается понять что-то. У меня есть класс Config, где я определяю нагрузку констант. В одном из моих других классов мне нужно использовать одну из констант из Config. Поэтому я начинаю с помощью классаComposer Project, доступ к различным классам
use \CONFIG\Config;
В моем конструктор класса, я затем присвоить класс переменной
public function __construct() {
$config = new Config;
}
В consturctor, я могу затем получить доступ к постоянным, делая что-то например,
$config::BASE_PATH;
Так что, похоже, у меня нет жалоб при этом. Если я создаю переменный класс, хотя, и изменить свой конструктор к следующим
public function __construct() {
$this->config = new Config;
$this->config::BASE_PATH;
}
Он жалуется, что он использует неправильный доступ к статическому члену класса.
Почему он работает как локальная переменная, но не как переменная класса?
Thanks
Хух. '::' не указан на странице приоритета оператора на php.net. Я предполагаю, что разрешение области действия происходит до применения '->'. – Jerry
Возможный дубликат [Доступ к константам класса PHP] (http://stackoverflow.com/questions/5447541/accessing-php-class-constants) –