@zeuss56

Почему нельзя вызвать статический метод у контекстной переменной, содержащей имя класса?

Такое дело:
<?php
class AutoLoader
{
    protected $classname;
    const classFolder = 'Class/';

    private function __construct($classname) {
        $this->classname = $classname;
    }

    protected function Test() {
        return method_exists($this->classname, '__test') ? $this->classname::__test() : true; // unexpected "::" operator at this line.
    }

    protected function GetFilePath() {
        return self::classFolder.str_replace('\\', DIRECTORY_SEPARATOR, $this->classname);
    }

    public static function Load($classname) {
        $this = new self($classname);
        $filepath = self::GetFilePath();
        return file_exists($filepath) && include_once($filepath) && self::Test();
    }
}
  • Вопрос задан
  • 182 просмотра
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
хватит пилить велосипеды https://github.com/php-fig/fig-standards/blob/mast...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы