ホームページ >バックエンド開発 >PHPチュートリアル >PHP で URL ルーティングを考える
ThinkPHP は、現在の URL に基づいて実行されるモジュールと操作を分析します。この分析作業は URL スケジューラによって実装され、公式の組み込み Dispatcher クラスがスケジューリングを完了します。 Dispatcher スケジューラーでは、現在実行する必要があるプロジェクト (appName)、モジュール (moduleName)、およびオペレーション (actionName) が
http://domainName/appName/moduleName/actionName/params
に基づいて取得される場合があります。 ? 、appName は必須ではありません (通常、Web サイトのホームページ。エントリ ファイルでプロジェクト名を指定できるため、この場合、appName はエントリ ファイルに置き換えられます)。システムは、異なるものに対して異なるインテリジェントな認識を実行します。 URL パターンの設定。
は、実際には、myApp プロジェクトの Index モジュールを見つけるインデックス オペレーションです。モジュールとオペレーションが指定されていない場合、システムはデフォルトのモジュールとオペレーションを実行します。これは、従来の構成における Index モジュールとインデックスです。 ThinkPHP が動作します。したがって、次の URL は上記の結果と同じになります:
http://localhost/myApp/index.php/Index/index/
プロジェクト設定パラメータを通じて、このデフォルト設定を変更できます。
このシステムは、グループ化モードと URL ルーティング機能もサポートしており、URL のさまざまなエクスペリエンスを実現できます。
thinkphp の最初のインスタンスの実行プロセスの分析:
まず第一に、プログラム エントリは Myapp の下にあるindex.php ファイルであり、その中で require(THINK_PATH."/ThinkPHP.php"); がThinkPHP.php への呼び出し 一般的に使用される構成およびデバッグ情報が含まれており、プログラムは APP::run() から実行を開始して、必要なクラスを見つけます。 THINKPHP は名前に基づいてクラスを判断するため、クラスを作成する場合は、**.class.php 形式にする必要があります。関連するクラスを見つけた後、それが指定されていない場合は、デフォルトでクラス内のindex()関数が実行されます。
上記のプロセスで渡される URL は次のとおりです: http://localhost/Myapp/index.php/index/index
ここで、index.php はエントリ ファイル、後続のインデックスは定義したインデックス名のクラスです。最後のインデックスは、定義したインデックス クラスのインデックス メソッドです。