【问题标题】:How to access plugin in cakephp如何在 cakephp 中访问插件
【发布时间】:2015-11-20 22:23:29
【问题描述】:

我是 cakephp 新手,我想通过 URL 调用插件。这是

的网址
http://testproject.local/PluginName/ControllerName/ActionName

当时我运行此 URL 时发现“缺少控制器”错误。

Missing Controller
Error: <ControllerName>Controller could not be found.

Error: Create the class <ControllerName>Controller below in file: `app/Controller/<ControllerName>Controller.php`

它给我看

`Exception Attributes: array ( 'class' => 'PracticeFusionController', 'plugin' => NULL, )`

这是我的 routes.php

Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));
/**
 * ...and connect the rest of 'Pages' controller's urls.
 */
Router::connect('/Pages/*', array('controller' => 'pages', 'action' => 'display'));

Router::connect('/gods/:action/*', array('plugin' => 'nova', 'controller' => 'gods'));
Router::connect('/gods', array('plugin' => 'nova', 'controller' => 'gods'));

Router::parseExtensions('json', 'xml');

Router::mapResources('events');

Router::connect('/<pluginName>', array('plugin' => '<pluginName>', 'controller' => '<ControllerName>')); 

【问题讨论】:

  • 请在答案中包含您的路线。您似乎没有正确设置这些。

标签: cakephp cakephp-2.3


【解决方案1】:

如果您在项目的引导程序中实际加载了插件,则只能加载/打开插件路由。您不需要在核心应用的 routes.php 中包含插件路由。如果要添加插件特定路由,可以使用 routes 选项加载插件特定路由文件。请注意,默认情况下,所有 /plugin/controller/action 路由都已正确路由,您不需要单独的路由文件。

所以,在核心应用的 app/Config/bootstrap.php 中,添加:

CakePlugin::load('YourPlugin', array('routes' = true));

插件的 Config/routes.php 中的路由将被加载并可以使用。 更多细节也可以在the documentation找到。

【讨论】:

    【解决方案2】:

    如果上述解决方案不起作用,请加载像 CakePlugin::load('YourPlugin', array('routes' => true)); 这样的插件请注意传递的数组是:array('routes' => true)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-04
      相关资源
      最近更新 更多