codeigniter に次の URL 構造を実装したいと思います
http://client.xyz.com/division/controller/controller_fuction
私の要件を満たすためにルートファイルを変更する方法を教えてください。ありがとう。
コメント -
クライアントごとに個別のデータベースをセットアップしたいのですが、「部門」は部門1、部門2のようになります。URL 設定に依存し、セッションがロードされます。
codeigniter に次の URL 構造を実装したいと思います
http://client.xyz.com/division/controller/controller_fuction
私の要件を満たすためにルートファイルを変更する方法を教えてください。ありがとう。
コメント -
クライアントごとに個別のデータベースをセットアップしたいのですが、「部門」は部門1、部門2のようになります。URL 設定に依存し、セッションがロードされます。
独自のルート クラスを作成する必要があります。CI を使用すると、そのコア機能を置き換えたり拡張したりできます。たとえば、作成するだけです
class MY_Router extends CI_Router
{
//so on ..
}
次に、application/core
フォルダに保存すると、CI はデフォルトの代わりにクラスを使用します。
見る ?http://ellislab.com/codeigniter/user-guide/general/core_classes.html
CI_Controller を拡張する MY_Controller を作成できます。
他のすべてのコントローラーは MY_Controller を拡張します。
次に、MY_Controller でこれをコンストラクターで使用できます。
$controller = $this->uri->segment(1);
$controller_function = $this->uri->segment(2);
ここで $devisions を定義するか、config から取得できます。
$division1 = array('controller1','controller2','controller3');
$division2 = array('controller4','controller5','controller6');
$division3 = array('controller7','controller8','controller9');
if(in_array($controller,$division1)){
//do blah blah
}else if(in_array($controller,$division2)){
//do other blah blah
}else{
//do last and final blah blah
}