2013-02-22 76 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