如何从 cakephp 2 中的路由 (routes.php) 文件调用内联函数?
How to call inline function from routing (routes.php) file in cakephp 2?
我想调用 routes.php 文件中定义的内联函数。
我试过这些代码:
Router::connect('/test', function () { return 'test';exit;});
Router::connect('/test', function () { echo 'test';exit;});
但是当我访问 localhost/cakephp/test 时出现错误:
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
在laravel (http://www.tutorialspoint.com/laravel/laravel_routing.htm)中我们可以从路由文件中调用内联函数。是否可以在 cakephp 中做同样的事情?
Is it possible to do the same in cakephp?
是的,但不是在 CakePHP2 中。
使用 CakePHP3。请参阅 the Routing section of the documentation. If you would have read the API 和/或 Cake2 的文档,它也会告诉您您不能通过闭包。
结论:提高您的文档阅读能力。对于此类问题,没有比快速查看 API 文档或代码中的方法签名本身更简单的解决方案了。它会告诉你可以传递哪些参数。
此外,我建议您了解 CakePHP 的工作原理,而不是像其他框架 API 那样尝试使用它 API。这行不通,而且假设它会很天真。他们有不同的方法(简化:Convention over Configuration vs Configuration over Convention)并且他们的API的是不同的。
我想调用 routes.php 文件中定义的内联函数。
我试过这些代码:
Router::connect('/test', function () { return 'test';exit;});
Router::connect('/test', function () { echo 'test';exit;});
但是当我访问 localhost/cakephp/test 时出现错误:
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
在laravel (http://www.tutorialspoint.com/laravel/laravel_routing.htm)中我们可以从路由文件中调用内联函数。是否可以在 cakephp 中做同样的事情?
Is it possible to do the same in cakephp?
是的,但不是在 CakePHP2 中。
使用 CakePHP3。请参阅 the Routing section of the documentation. If you would have read the API 和/或 Cake2 的文档,它也会告诉您您不能通过闭包。
结论:提高您的文档阅读能力。对于此类问题,没有比快速查看 API 文档或代码中的方法签名本身更简单的解决方案了。它会告诉你可以传递哪些参数。
此外,我建议您了解 CakePHP 的工作原理,而不是像其他框架 API 那样尝试使用它 API。这行不通,而且假设它会很天真。他们有不同的方法(简化:Convention over Configuration vs Configuration over Convention)并且他们的API的是不同的。