CakePHP:在AppController中调用函数
如何在 app/app_controller.php 中调用 app_controller.php 内的函数 在插件的行为中,该插件位于 app/plugins/media/models/behaviors/transfer.php 中一个名为transferTo 的方法内。
How to call a function inside the app_controller.php in app/app_controller.php
in the behavior of a plugin which is at app/plugins/media/models/behaviors/transfer.php inside a method called transferTo.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你不知道。模型和/或行为不应该与控制器进行对话。如果该方法如此普遍可用,请将其作为
bootstrap.php
中的函数,如果适用的话将其放入AppModel
中,或者在/ 中创建您自己的实用程序类app/libs
您可以从任何地方静态调用它。(您可以在任何地方调用
AppController::myMethod()
,前提是您处于正常的请求周期,其中AppController
已经加载,或者使用 ClassRegistry::init 来获取任何控制器的实例(它将具有该方法),但这可能会产生比它解决的问题更多的问题。强>不要这样做。)You don't. Models and/or behaviors should not talk back to the controller. If the method is so universally usable, make it a function in
bootstrap.php
, put it inAppModel
if it's applicable there or create your own utility class in/app/libs
that you can call statically from anywhere.(You can call
AppController::myMethod()
anywhere, provided you're in a normal request cycle where theAppController
is already loaded, or useClassRegistry::init
to get an instance of any controller (which will have the method), but this'll probably create more problems than it solves. Don't do this.)您可以使用 requestAction() 来实现此目的。 requestAction 是一种从任何不同控制器调用任何控制器函数的方法。
语法是
您将在 $response 变量中获得结果。
You can use the requestAction() for this. The requestAction is a way to call any controller function from any different controller.
The syntax is
you will get the result in $response variable.