Я хочу вызвать встроенную функцию, определенную в файле rout.php.
Я пробовал эти коды:
Router::connect('/test', function () { return 'test';exit;});
Router::connect('/test', function () { echo 'test';exit;});
но когда я получаю доступ локальный / CakePHP / тест Я получаю ошибку:
Error: Cannot use object of type Closure as array
File: /var/www/html/massmobile/lib/Cake/Routing/Router.php
Line: 348
Notice: If you want to customize this error message, create app/View/Errors/fatal_error.ctp
В Ларавелле (http://www.tutorialspoint.com/laravel/laravel_routing.htm) мы можем вызвать встроенную функцию из файла маршрута. Можно ли сделать то же самое в CakePHP?
Можно ли сделать то же самое в CakePHP?
Да, но не в CakePHP2.
Используйте CakePHP3. Увидеть раздел маршрутизации документации. Если бы вы имели читать API и / или документация Cake2, в которой также сказано, что вы не можете пройти закрытие.
Вывод: поработайте над своими навыками чтения документации. Для таких вопросов нет более простого решения, чем просто быстрый просмотр документов API или самой сигнатуры метода в коде. Он скажет вам, какие аргументы могут быть переданы.
Также я бы порекомендовал вам понять, как работает CakePHP, вместо того, чтобы пытаться работать с его API, как с другим API фреймворков. Это не сработает, и предположение довольно наивно. У них другой подход (упрощенный: соглашение по конфигурации против конфигурации по соглашению) и их API являются разные.
Других решений пока нет …