2012-10-24 43 views
0

我正在研究一個需要一些額外功能的舊項目。它使用symfony 1.4。我是symfony的新手。Symfony 1.4行動沒有被擊中。爲什麼?

現在有4個動作:

executeAdmin,executeDashboard,executeHome,能很好的executeView。他們在一個名爲action.class.php的文件中。

路由看起來是這樣的(在routing.yml中):

editor: 
    url: /editor/:action/* 
    param: { module: bookeditor } 

這是我的假設,即在同一action.class.php創建一個新的executeTest將工作開箱。

private function executeUpload ($request) { 
    $this->response->setContent("<h1>Ok!</h1>"); 
    return sfView::NONE; 
} 

當去mysite/editor/upload我得到404頁面。

如果我更換executeAdmin的例如代碼:

private function executAdmin ($request) { 
    $this->response->setContent("<h1>Ok!</h1>"); 
    return sfView::NONE; 
} 

當去與mysite /編輯/管理我得到的「好」在空白頁上。

爲什麼會發生這種情況?我怎樣才能解決這個問題?

(我清除symfony的緩存,每次更改後重新啓動Apache的。)

+2

它看起來像問題是在行動方法封裝。將其更改爲公開。順便說一句:你確定你的私人功能executAdmin真的有效嗎? – palmic

+1

控制器內的'execute *'函數必須是'public'。你在這裏有一個類型:'executAdmin'你可以發佈整個'actions.class.php'嗎? – j0k

+0

結對編程很快就解決了這個問題。 @ j0k請添加您的評論作爲迴應。就是這樣! –

回答

3

execute*功能控制器內必須public

此外,您在這裏有一個錯字:executAdmin。它應該是executeAdmin

相關問題