この記事では主に ThinkPHP3.2 がコントローラーをロードできない問題について紹介します。これには特定の参考値がありますので、必要な方は参考にしてください。
在将ThinkPHP3.1.3升级到ThinkPHP3.2.3时,即使将View、Mode、Controller放到了指定目录下也还是出现无法加载控制器的问题,经过一番研究,发现主要可能由几个原因引起。
APP_USE_NAMESPACE名前空間を使用する): false の場合、コントローラーが定義されている ネームスペースが使用されている場合、コントローラーをロードすることはできません。この場合、パラメーターを true に設定するだけです。 ThinkPHP/Common/Conf/convention.php で設定できます。
ACTION_BIND_CLASS (メソッドとクラスをバインドするかどうか): false に設定すると、Controller フォルダーの構造はコントローラー/ビュー名 Controller.class.php となり、メソッドはクラス内に 1 つずつ書き込まれます。 ; ただし、 true に設定すると、Controller フォルダーの構造は、Controller/ビュー名/method.class.php となり、1 つのクラスが 1 つのメソッドに対応するようになります。
MODULE_ALLOW_LIST (モジュールへのアクセスを許可) および MODULE_DENY_LIST (モジュールへのアクセスを拒否) : モジュールがアクセス禁止に設定されている場合、または許可されたアクセス リストに設定されていない場合、モジュール配下のすべてのページに正常にアクセスできません。
URL_MODEL (URL アクセス モード): 0 ではない場合、U メソッドを使用してモジュール配下の他のコントローラーのメソッドを呼び出す場合は、BIND_MODULE を定義してモジュールを定義する必要があります。そうでない場合は、現在のモジュール認識できません。
間違ったコントローラー定義: 名前空間はコントローラーの最初の非コメント行で定義する必要があります。コントローラーを定義するときは、クラス名のスペルと extends コントローラーが存在するかどうかに注意してください。多くの場合、この小さな問題により、コントローラーへのアクセスが妨げられます。 (コントローラファイル名やコントローラディレクトリの大文字とのスペルミスは、初心者がこの低レベルの間違いを犯す可能性が最も高いです)
BIND_MODULE (バインディングモジュール): モジュールがバインドされている場合エントリ ファイルを削除すると、モジュールをパスに含めることができなくなり、コントローラにアクセスできなくなります。
以上がThinkPHP3.2 がコントローラーをロードできないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。