自分向け補足メモ。
- URIの第2セグメント、いわゆるメソッド呼び出し部分は、コントローラに _remap() メソッドを追加することで再定義できる!但し、追加すると常に呼び出されるので注意!
- データ処理済みの出力をさらに処理したい場合は、コントローラに _output() メソッドを追加して処理できる。例えば...
とすると、ビューに @ が追記されて表示されるようになる。_remap() メソッド同様、これも常に呼び出されるので注意!<?php class HelloWorld extends Controller { function index() { $this->load->view('helloworld_view'); } function _output($output) { echo $output.'@'; } } ?>
- メソッドの呼び出しを禁止したい場合は、メソッド名の先頭にアンダースコアを書くこと。すると http://www.example.com/hoge/_foo/ ようなURLにアクセスしても、_foo() メソッドは呼ばれない。
- コントローラは通常 application/controllers フォルダの中に入れてあるが、ファイルが多くなったりしてフォルダ分け(サブフォルダ)した場合は、http://www.example.com/folder/class/function/ID でアクセスできる。また、URI ルーティング 機能を利用すれば、いじることも可能。
- コントローラクラスのコンストラクタを使用する場合は、必ず parent::Controller(); で親クラスのコンストラクタを呼び出す。上書きするのを防ぐため。
- 予約済みのメソッドがあるので注意
スポンサーサイト