Использование плагина CakePHP 3.0
В настоящее время я создаю новое приложение CakePHP с версией 3.0.0-RC1 и пытаюсь установить и использовать плагин jasig/phpCAS. Используя это руководство, я запустил следующую команду из командной строки: composer require jasig/phpcas
Это правильно копирует файлы jasig/phpcas в каталог vendor моего приложения, но один из других файлов, которые, как говорится в руководстве, должны быть обновлены (vendor/cakephp-plugins.php), даже не существует.
Мне было трудно получить доступ к плагину. Я хочу иметь возможность вызывать его статические методы, и я продолжаю получать ошибки в форме: Error: Class 'App\Controller\phpCAS' not found
, (Точный каталог в ошибке изменяется в зависимости от того, откуда я вызываю метод.)
Я не знаю, связано ли это с отсутствием файла cakephp-plugins.php, или я неправильно вызываю плагин. Насколько я понимаю, если плагин загружен, я должен просто вызывать статические методы для него следующим образом: phpCAS::methodName()
1 ответ
Прежде всего jasig/phpcas
не является плагином CakePHP. И vendor/cakephp-plugins.php
файл создается установщиком плагинов CakePHP, поэтому, если вы не видите такой файл, вы, похоже, либо не установили никаких плагинов, либо не используете последнюю версию установщика, так как при создании этого файла был введен совсем недавно.
Что касается ошибки о том, что класс не найден, вам не хватает ведущего разделителя пространства имен (\phpCAS::methodName()
) для доступа к классу в глобальном пространстве имен, соответственно, вам не хватает правильного импорта (use phpCAS;
) это сделало бы класс доступным в текущем пространстве имен.
Если вы не знакомы с пространствами имен, вы можете начать с: http://php.net/namespaces