この記事では、CodeIgniter 設定での Routes.php の使用法を例とともに分析します。参考のために皆さんと共有してください。詳細は次のとおりです:
application/config/routes.php は $route という名前の配列を定義します。これは、デフォルトのルートと 404 ページを設定するだけでなく、いくつかのマッチング メソッドを設定するために使用されます。
デフォルトの設定は次のとおりです:
$route['default_controller'] = "welcome"; $route['404_override'] = '';
default_controller はデフォルトのコントローラ名を指定し、404_override は 404 が発生したときに呼び出されるコントローラ名を指定します。場合によっては、解析が失敗したり、デフォルトのページに残ったりすることがあります。$this->router を呼び出して、現在解析されているコントローラ名とアクション名を出力できます。たとえば、次のように MY_Controller で出力できます:
var_dump($this->router->fetch_directory()); var_dump($this->router->fetch_class()); var_dump($this->router->fetch_method());
どのコントローラーが解析されたかを確認し、Router.php と URI.php で URL 構成、サーバー構成、およびデバッグを確認します。
$route 配列では、ワイルドカード (:num、:any) と正規表現を使用して書き換えルールを設定することもできます。簡単な例をいくつか示します。
1. http://pc.local/admin/detail_1.htm を解析します。処理用の http://pc.local/admin/detail.htm?user_id=1。
Codeigniter はクエリ文字列を含むルールの書き換えをサポートしていません。このルールは次のようになります:
コードをコピーします コードは次のとおりです:
$route['admin/detail_(:num)'] = ' admin/detail?user_id=$1';
コードをコピーします コードは次のとおりです:
$route['admin /detail_(:num)'] = 'admin/detail/?user_id=$1';
コードをコピーします コードは次のとおりです:
parse_str(ltrim($query_string, '?'), $_GET);
コードをコピーします コードは次のとおりです:
$route['admin/(:num)'] = ' admin/detail/$1 ';
注: ルーティングは定義された順序で実行されます。上位レベルのルーティングは常に下位レベルのルーティングよりも優先されます。
最後に、サーバー構成に依存せずに設定できる CI を使用することをお勧めします。
CodeIgniter フレームワークに関連するさらなるコンテンツに興味のある読者は、このサイトの特別トピック「codeigniter チュートリアルの概要」をチェックしてください。
この記事が、CodeIgniter フレームワークに基づいた PHP プログラムの設計に役立つことを願っています。
以上、CodeIgniter設定におけるroutesphpの使用例の分析例を内容も含めて紹介しましたので、PHPチュートリアルに興味のある方の参考になれば幸いです。