ホームページ  >  記事  >  バックエンド開発  >  ThinkPHP3.2 がコントローラーをロードできない

ThinkPHP3.2 がコントローラーをロードできない

不言
不言オリジナル
2018-05-02 13:41:483818ブラウズ

この記事では主に ThinkPHP3.2 がコントローラーをロードできない問題について紹介します。これには特定の参考値がありますので、必要な方は参考にしてください。

コントローラーをロードできません: 管理者。

エラーの場所

ファイル: D:phpStudyWWWwisdomThinkPHPLibraryThinkApp.class.php LINE: 101

   在将ThinkPHP3.1.3升级到ThinkPHP3.2.3时,即使将View、Mode、Controller放到了指定目录下也还是出现无法加载控制器的问题,经过一番研究,发现主要可能由几个原因引起。

  • 1

  • 2

  1. APP_USE_NAMESPACE名前空間を使用する): false の場合、コントローラーが定義されている ネームスペースが使用されている場合、コントローラーをロードすることはできません。この場合、パラメーターを true に設定するだけです。 ThinkPHP/Common/Conf/convention.php で設定できます。

  2. ACTION_BIND_CLASS (メソッドとクラスをバインドするかどうか): false に設定すると、Controller フォルダーの構造はコントローラー/ビュー名 Controller.class.php となり、メソッドはクラス内に 1 つずつ書き込まれます。 ; ただし、 true に設定すると、Controller フォルダーの構造は、Controller/ビュー名/method.class.php となり、1 つのクラスが 1 つのメソッドに対応するようになります。

  3. MODULE_ALLOW_LIST (モジュールへのアクセスを許可) および MODULE_DENY_LIST (モジュールへのアクセスを拒否) : モジュールがアクセス禁止に設定されている場合、または許可されたアクセス リストに設定されていない場合、モジュール配下のすべてのページに正常にアクセスできません。

  4. URL_MODEL (URL アクセス モード): 0 ではない場合、U メソッドを使用してモジュール配下の他のコントローラーのメソッドを呼び出す場合は、BIND_MODULE を定義してモジュールを定義する必要があります。そうでない場合は、現在のモジュール認識できません。

  5. 間違ったコントローラー定義: 名前空間はコントローラーの最初の非コメント行で定義する必要があります。コントローラーを定義するときは、クラス名のスペルと extends コントローラーが存在するかどうかに注意してください。多くの場合、この小さな問題により、コントローラーへのアクセスが妨げられます。 (コントローラファイル名やコントローラディレクトリの大文字とのスペルミスは、初心者がこの低レベルの間違いを犯す可能性が最も高いです)

  6. BIND_MODULE (バインディングモジュール): モジュールがバインドされている場合エントリ ファイルを削除すると、モジュールをパスに含めることができなくなり、コントローラにアクセスできなくなります。



以上がThinkPHP3.2 がコントローラーをロードできないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。