2013-02-22 73 views
0

我对cakephp很新颖。cakephp丢失控制器错误

我有我的项目在工作区注册。我创建了IndexController,其中包含方法index()

当我通过工作区/注册运行我的项目/它显示以下错误:

Error: WorkspaceController could not be found. Create the class WorkspaceController below in file: app/Controller/WorkspaceController.php.

请帮我解决这个问题。

回答

3

我认为错误消息说明了一切;

在文件中创建类WorkspaceController如下:

app/Controller/WorkspaceController.php 

基本上,使用默认的路由,URLs使用此模式:

http://mysite.com/mycontroller/myaction/param1/param2/param... 

将被路由到:

MycontrollerController::myaction($param1, $param2); 

因此,有了你的url,CakePHP试图执行:

WorkspaceController::registration() 

,这显然不存在

+0

我该如何更改默认路由?我想先索引IndexController。 – user2099424 2013-02-23 05:09:26

+0

您可以通过在app/Config/routes.php中指定自定义路线来更改路线。在这里,您可以将“主页”附加到任何控制器/操作并创建自定义路线。看到这个页面的更多信息http://book.cakephp.org/2.0/en/development/routing.html – thaJeztah 2013-03-02 20:22:23

0

我得到了同样的信息。问题在于代码未被包装在<?php ... ?>内。所以基本上代码应该如下:

<?php 
class PostsController extends AppController { 
    public $helpers = array('Html', 'Form'); 

    public function index() { 
     $this->set('posts', $this->Post->find('all')); 
    } 
} 
?> 
0

你必须使用文件名作为IndexController.php而不是index_controller.php或其他任何东西。我只是不知道为什么,但它在我的情况下工作正常,你的班名也应该是IndexController

+0

_“我只是不知道为什么”_ - 因为[autoloading](http://php.net) /manual/en/language.oop5.autoload.php)就是这样配置的。 – 2015-03-30 18:51:23