インターネットの発展に伴い、ユーザー エクスペリエンスの最適化を考慮する必要がある Web サイトが増えています。その 1 つはフレンドリーな URL アドレスです。 ThinkPHP は、URL アドレスを処理するための便利なソリューションも提供する優れた PHP フレームワークです。この記事では、ThinkPHP6 でフレンドリ URL アドレスを使用する方法を紹介します。
まず第一に、ThinkPHP6 のルーティングに関連する概念を理解する必要があります。ルーティングとは、URL リクエストを指定されたコントローラーおよびメソッドに転送して、さまざまなビジネス ロジックを実装することを指します。 ThinkPHP6 では、コントローラーのアノテーションを通じてルーティング情報を定義できるため、メンテナンス プロセス中に便利です。
URL アドレスには、一般的に次の 2 つの形式があります:
1. 従来の URL アドレス (例: http://www.example.com/index.php/Controller/Action /) id/1
2. 疑似静的 URL アドレス (例: http://www.example.com/Controller/Action/id/1
最初の従来の URL アドレスに、手動で追加する必要があります) URL アドレス内のコントローラー名とメソッド名、および ID パラメーターの形式でデータを渡すと、注意しないとコードが混乱し、保守が困難になる可能性があります。 2 番目のタイプの疑似静的 URL アドレスでは、ID などのパラメーターを、可読性が高く保守が容易な URL アドレスに変換できます。
次に、ルーティングを使用して疑似静的 URL アドレスを実装する方法を紹介します。
1. ルーティングの設定
config/route.php ファイルはルーティング ファイルであり、このファイルでルーティング情報を設定できます。以下は簡単な設定例です:
use thinkacadeRoute; Route::rule('article/:id', 'index/article/read') ->pattern(['id' => 'd+']);
上記のコードでは、Route::rule()
メソッド URL を通じて名前付き article/:id
を設定しました。ここで、:id
の部分は URL パラメーターであり、渡す必要があるデータを表します。ルーティングの実際の操作は、この URL アドレスをコントローラーと index/article/read
という名前のメソッドに転送することです。
同時に、->pattern()
メソッドを使用してパラメータの形式を制限できます。上の例では、:id
パラメーターの値を数値のみに制限しました。
2. コントローラーの定義
ルーティング情報を定義した後、リクエストを処理してコンテンツを返すために、コントローラーに対応するメソッドを実装する必要があります。コントローラー ファイル (app/controller ディレクトリにあります) では、article
という名前のコントローラー クラスと read
という名前のメソッドを定義できます。
namespace appcontroller; use thinkRequest; class Article { public function read($id) { return '正在阅读文章 ' . $id; } }
3. URL へのアクセス
これで、アドレス バーから Web サイトにアクセスできるようになります。たとえば、次の URL アドレスを入力します: http://www.example.com/article/1。コントローラへの /:id
パラメータ値は 1 なので、プログラム処理フローに入ります。ルート転送が完了したら、リクエストを Article
コントローラーの read
メソッドに渡してリクエストを処理します。処理が完了したら、返されたコンテンツをフロントエンド ページに表示し、わかりやすい URL アドレスを実装します。
この記事では、ThinkPHP6 でフレンドリ URL アドレスを実装する具体的な方法を紹介します。ルーティングを使用すると、面倒な URL アドレスの入力や多数のパラメーターの受け渡しを効果的に回避できるため、コードの保守が容易になり、ユーザー エクスペリエンスが向上します。
以上がThinkPHP6 でフレンドリ URL アドレスを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。