gpt4 book ai didi

controller - Yii无法实例化 Controller

转载 作者:行者123 更新时间:2023-12-04 18:12:02 28 4
gpt4 key购买 nike

如我所见,如果我们要实例化一个Model(例如,名为Post),我们只需调用:

$post = new Post();

现在,我还想实例化一个 Controller(例如,名为 Post,并为此 Controller 命名为 PostController.php的php文件)。所以我使用这段代码:
$postController = new PostController();

但是,运行此代码时出现错误。

我进行了一些搜索,发现实例化应类似于以下内容:
$postController = Yii::app()->createController('post/index');

它可以正常运行。但是我仍然想知道为什么第一种方法不起作用?

最佳答案

回答您的确切问题“为什么第一种方法不起作用”。
项目“包含路径”中的文件夹/protected/controller NOT

只需将'import'=>array('application.controllers.*')添加到您的配置文件中或使用include(Yii::app()->getBasePath().DIRECTORY_SEPARATOR.'controllers'.DIRECTORY_SEPARATOR.'PostController.php');
在创建PostController对象之前。嗯,创建新 Controller 需要为此 Controller 命名,因此它应该类似于
$controller = new PostController('post_controller');
我想指出的是,这种类型的 Controller 创建在Yii中是无用的,因为您正在创建与项目完全分离的 Controller ,因此它几乎是无用的。如您所述,创建 Controller 的正确方法是通过Yii::app()->createController()

关于controller - Yii无法实例化 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11771141/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com