2013-04-27 101 views
0

我很難過,我必須缺少一些基本的東西,任何想法都將不勝感激。Kohana查看模型類未找到

我已經建立了一個新的Kohana項目,它可以很好地處理模型和控制器。對於這個例子,我已經將它剝離回一個單一的非常基本的用戶模型和一個單一的索引動作的控制器。

我決定使用KOstache作爲我的模板引擎,因爲我聽說了它的好東西。我下載了模塊和供應商子模塊,這似乎工作正常。

我的問題棱試圖創建我的名爲View_User視圖模型類的新實例時,Kohana中拋出* ErrorException [致命錯誤]:類「View_User」找不到*

我的目錄結構如下

application 
    |_classes 
    |  |_Controller 
    |  | |_User.php 
    |  |_Model 
    |  | |_User.php 
    |  |_view 
    |   |_user.php 
    |_templates 
     |_user.mustache 

該項目還有其他文件夾,但我相信這些是相關的。

我控制器似乎是類的問題

<?php defined('SYSPATH') or die('No direct script access.'); 

class Controller_User extends Controller { 

     public function action_index() 
     { 
       $renderer = Kostache_Layout::factory(); 
       $view = new View_User; 
       $view->title = 'This is the test title'; 
       $this->response->body($renderer->render($view)); 
     } 

} 

這並不工作,並抱怨說,它無法找到類View_User但在我的課/視圖/ user.php的文件,我顯然有View_User類

<?php 
class View_User { 
} 

現在,我認爲它是某種與我設立KOstache或Kohana的方式問題,但我不能確定什麼,我做錯了。

如果我在類/Controller/User.php底部包含類定義,那麼一切都按預期工作,它只是在另一個文件中找不到該類。

從如果磁帶自動加載嘗試加載類View_User它將在班/視圖/ user.php的

我在做什麼錯了,我讀過什麼?

+0

Kohana的是什麼版本您使用的?我注意到你標記了它3.2,但是我可以看到它爲什麼不起作用,如果它是3.3。 – 2013-04-27 21:19:45

+0

@MichalM對不起,該標籤是錯誤的,我正在使用3.3。這是一個目錄命名問題,因爲類名是View_User而不是view_user,所以它需要是classes/View/User.php而不是classes/view/user.php。 – 2013-04-27 21:37:08

+0

這就是我的想法,因此這個問題。 :) – 2013-04-28 16:39:49

回答

0

瀏覽文件夾不應該下的類,但應該是這樣的:

application 
|_classes 
|  |_Controller 
|  | |_User.php 
|  |_Model 
|  | |_User.php 
|_views 
| |_user.php 
|_templates 
    |_user.mustache 

你可以看看這裏http://kohanaframework.org/3.0/guide/kohana/files以供參考。

+0

我相信這是真的Kohana意見,但不是View_Models KOstache。無論哪種方式,我已經嘗試把它放在視圖文件夾,這仍然有拋出相同的異常。 – 2013-04-27 16:40:36

0

事實證明,這是我的文件夾和文件名的案例問題。

的類/視圖/ user.php的應該是

類/查看/ user.php的上課我叫View_User

預期改變這一點,所有的作品後。

0

你可能有權限問題。在我的情況下,它是httpd服務(apache2),無法訪問我的web項目文件。 這裏是一個殘酷的解決方案(做到這一點只有當你的安全狀況允許的話):

$ sudo chmod -R 0777 /var/www/html/mysite/ 

更多信息: move_uploaded_file gives "failed to open stream: Permission denied " error after all configurations i did

+1

'chmod 777'通常是一個[可怕的解決方案](https://serverfault.com/questions/364677/why-is-chmod-r-777-destructive) – Machavity 2017-09-12 13:52:17