2017-02-03 91 views
-5

誰能告訴什麼是錯的我code.I正在使用CakePHP 2.9.5.Getting錯誤:類「應用程序\控制器\ AppController的」未找到AppController中沒有發現

<?php 
namespace app\Controller; 
use app\Controller\AppController; 

Class ProductsController extends AppController{ 

    public function index() 
    { 
     $prducts = $this->Product->find('all'); 

     print_r($prducts); 
    } 
} 

?> 
+1

尋求調試幫助的問題(「爲什麼這個代碼不工作?」)必須包含所需的行爲,特定的問題或錯誤以及在問題本身中重現問題所需的最短代碼。沒有明確問題陳述的問題對其他讀者無益。請參閱:如何創建[mcve]。 –

回答

0

這是因爲你正在使用控制器的錯誤名稱空間。 CakePHP中的控制器擁有自己的獨立命名空間。

更換

namespace app\Controller; 
use app\Controller\AppController; 

隨着

use AppController; 

或使用該

App::uses('AppController', 'Controller'); 

這應該工作。

+0

這兩者都不起作用。 CakePHP 3.x中的適當命名空間將默認爲'App',並帶有一個'A'的升級,而在CakePHP 2.x中,導入需要指明包(App :: uses()的第二個參數),不是可選的),在這種情況下'Controller'。 – ndm

+0

@ndm是的,我只是錯過了。謝謝我編輯了答案。但在Cake 2.x中'使用AppController'可以正常工作。 –

+0

我懷疑,它很可能根本就沒有任何作用,因爲即使在使用composer時也不會有自動加載器能夠加載該引用(除非有人明確地配置它)。它可能會簡單地工作,因爲'AppController'類/文件已經被其他地方包含了。 – ndm