【问题标题】:CakePHP: calling function in the AppControllerCakePHP:在 AppController 中调用函数
【发布时间】:2011-03-03 07:32:07
【问题描述】:

如何在 app/app_controller.php 中调用 app_controller.php 中的函数 在 app/plugins/media/models/behaviors/transfer.php 中名为 transferTo 的方法中的插件的行为中。

【问题讨论】:

  • 您不应该首先从行为中调用您的应用控制器。如果您确实必须有权访问您的控制器,请使用组件

标签: cakephp cakephp-1.3


【解决方案1】:

你没有。模型和/或行为不应与控制器对话。如果该方法如此普遍可用,请将其设置为 bootstrap.php 中的函数,如果适用,请将其放入 AppModel 中,或者在 /app/libs 中创建您自己的实用程序类,您可以从任何地方静态调用。

(您可以在任何地方调用AppController::myMethod(),前提是您处于已加载AppController 的正常请求周期,或者使用ClassRegistry::init 获取实例任何控制器(将拥有该方法),但这可能会产生比它解决的问题更多的问题。不要这样做。

【讨论】:

    【解决方案2】:

    您可以为此使用 requestAction()。 requestAction 是一种从任何不同控制器调用任何控制器函数的方法。

    语法是

    $response = $this->requestAction('name of controller/action_name/'.$parameter);
    

    您将在 $response 变量中获得结果。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-10
    • 2019-01-24
    • 2017-03-08
    相关资源
    最近更新 更多