2016-12-23 18 views
0

私はroutes.phpのファイルに接頭辞 "admin" を設定することにより、管理エリアを作成しました私の次のエラー:CakePHPの中に管理エリアでのAppControllerを作成する方法3

Welcome to CakePHP v3.3.10 Console 

App : src 
Path: C:\wamp\www\d3\src\ 
PHP : 5.5.12 

Fatal error: Class 'App\Controller\Admin\AppController' not found in C:\wamp\www\d3\src\Controller\Admin\ErrorController.php on line 25 

上記のエラーから、私はそれがsrc/Controller/AdmのAppControllerを探していることを理解しています私が間違っていた:

namespace App\Controller\Admin; 

use App\Controller\AppController; 

class AppController extends Controller 
{ 

} 

編集:/地域に私は次のコードでそこのAppControllerを作成しますので。 コントローラここには含まれていないので、ここでは拡張できません。我々はAppControllerを拡張する必要があり、実際にはそれを拡張したいので、Admin/AppControllerクラスの名前をAdminAppControllerのようなものにする必要があります。もしそうなら、他のローカルコントローラがこれをどのように使用していますか?今は私にはかなり混乱しているようです。私は/管理/ネームスペースのローカルAppController.phpを持っているための最良の方法は何かわからない

Fatal error: Cannot declare class App\Controller\Admin\AppController because the name is already in use in C:\wamp\www\d3\src\Controller\Admin\AppController.php on line 7

が、今、新たなエラーが言うコンソールで発生します。とにかく私は本当に必要なのでしょうか、私はそう考えています。管理者関連の機能を無効にし、実際にacl_extra acl_sync関連のエラーをコンソールに修正するためです。

+0

は '使用のApp \コントローラ\のAppControllerを変更してみてください。ために' 'App \ Controller \ AppControllerをコントローラとして使う;' –

答えて

0

私がやってそれを得た:

 
namespace App\Controller\Admin; 

use Cake\Controller\Controller; 

class AppController extends Controller 
{ 
    ..... 
} 

を、他の管理コントローラーには、ちょうど、例の操作を行いますがUserControllerの場合:

 
use App\Controller\**Admin**\AppController; 


class UsersController extends AppController 
{ 
    ...... 
}