Entries
CodeIgniter
CodeIgniter というフレームワークを使ってみました。
他にPHPのフレームワークは、
・Mojavi
・CakePHP
・symfony
などがあります。何を使うべきか悩みましたが、他の人にも使ってもらう場合に、覚えやすくて、フレームワークのメリットをすぐに感じてもらえそうだったという点からCodeIgniter にしました。
これまでに完成させたプログラムで使ったことがあるのはMojaviです。他のフレームワークに比べると比較的低機能なんで、すぐにはメリットを感じてもらいにくいかなと思いました。個人的には好きです。こないだも Savant というテンプレートエンジン用のクラスを作ってみたりしました。
話は変わりますが、100% Hardcore とかを参考にして S2Container.PHP5 をセットアップしてみたのですが、PHPのDIコンテナってどうなんでしょうか。
で、CodeIgniter に関するメモです。
・Code Igniter オフィシャル
・ユーザーガイド日本語訳
まずは Watch it in Action で「Hello world 〜」と「Create a blog」を見ます。ドキュメントがそろっているというのが Code Igniter の売りでもありますが、チュートリアルみたいのものがテキストでないので、これを見ときます。
Web上のドキュメントルートにアーカイブを展開します。大体 application の中の config と controller 、 view の中を編集していきます。他に model とか library を使ったりもします。
設定は以下のファイルを編集します。
config/config.php
config/autoload.php
config/database.php
config/routes.php
/index.php
/.htaccess
私が書き換えたのは、以下の個所です。
$config['base_url'] = "http://xxx.yyy.zzz/~aaa/";
$config['url_suffix'] = ".html";
$config['index_page'] = "";
「$config['url_suffix'] = ".html"」はパラメータの最後にくっつけるものです。
Code Igniter では、「 index.php?conttoller=blog&function=view 」といったURLでのアクセスではなく、「 http://xxx.yyy.zzz/~aaa/blog/view/ 」というURLでアクセスが可能です。さらに、ここで指定した url_suffix を最後にくっつけることができます。
「 http://xxx.yyy.zzz/~aaa/blog/view.html 」となります。
$config['language'] = "japanese";
という記述があります。system/language/english をコピーして japanese にしました。その都度日本語にしていきます。
system/application/config/autoload.php の中でつぎの部分に関して、blog のチュートリアルビデオでは core のほうに database を記述していますが、libraries のほうに書くようです。core のほうは deprecated と書いています。
$autoload['libraries'] = array('database');
$autoload['core'] = array();
スタイルシートとイメージファイルに関しては mod_rewrite を使わないようにユーザーガイドの「Code Igniter URLs」の .htaccess のサンプルに css と image を追加。
system ディレクトリと system/application ディレクトリを別の名前にした場合にindex.php でそれらを指定することができます。
<?=base_url();?>css/style.css
.htaccess で css がrewriteされないように設定しておかないといけません。
config_for_myapp.php 等、ファイルを作って、autoload.ini で設定します。
$autoload['config'] = array('config_for_myapp');
redirect('xxx');
xxx には、base_url() (config.php で指定したもの)以降のパスを指定。
他にPHPのフレームワークは、
・Mojavi
・CakePHP
・symfony
などがあります。何を使うべきか悩みましたが、他の人にも使ってもらう場合に、覚えやすくて、フレームワークのメリットをすぐに感じてもらえそうだったという点からCodeIgniter にしました。
これまでに完成させたプログラムで使ったことがあるのはMojaviです。他のフレームワークに比べると比較的低機能なんで、すぐにはメリットを感じてもらいにくいかなと思いました。個人的には好きです。こないだも Savant というテンプレートエンジン用のクラスを作ってみたりしました。
話は変わりますが、100% Hardcore とかを参考にして S2Container.PHP5 をセットアップしてみたのですが、PHPのDIコンテナってどうなんでしょうか。
で、CodeIgniter に関するメモです。
リンク
・Code Igniter オフィシャル
・ユーザーガイド日本語訳
ビデオキャスト
まずは Watch it in Action で「Hello world 〜」と「Create a blog」を見ます。ドキュメントがそろっているというのが Code Igniter の売りでもありますが、チュートリアルみたいのものがテキストでないので、これを見ときます。
インストール
Web上のドキュメントルートにアーカイブを展開します。大体 application の中の config と controller 、 view の中を編集していきます。他に model とか library を使ったりもします。
設定は以下のファイルを編集します。
config/config.php
config/autoload.php
config/database.php
config/routes.php
/index.php
/.htaccess
system/application/config/config.php の編集
私が書き換えたのは、以下の個所です。
$config['base_url'] = "http://xxx.yyy.zzz/~aaa/";
$config['url_suffix'] = ".html";
$config['index_page'] = "";
「$config['url_suffix'] = ".html"」はパラメータの最後にくっつけるものです。
Code Igniter では、「 index.php?conttoller=blog&function=view 」といったURLでのアクセスではなく、「 http://xxx.yyy.zzz/~aaa/blog/view/ 」というURLでアクセスが可能です。さらに、ここで指定した url_suffix を最後にくっつけることができます。
「 http://xxx.yyy.zzz/~aaa/blog/view.html 」となります。
$config['language'] = "japanese";
という記述があります。system/language/english をコピーして japanese にしました。その都度日本語にしていきます。
autoload.php の編集
system/application/config/autoload.php の中でつぎの部分に関して、blog のチュートリアルビデオでは core のほうに database を記述していますが、libraries のほうに書くようです。core のほうは deprecated と書いています。
$autoload['libraries'] = array('database');
$autoload['core'] = array();
.htaccess の編集
スタイルシートとイメージファイルに関しては mod_rewrite を使わないようにユーザーガイドの「Code Igniter URLs」の .htaccess のサンプルに css と image を追加。
index.php の編集
system ディレクトリと system/application ディレクトリを別の名前にした場合にindex.php でそれらを指定することができます。
イメージ、スタイルシート等のパス
<?=base_url();?>css/style.css
.htaccess で css がrewriteされないように設定しておかないといけません。
オリジナルのconfig
config_for_myapp.php 等、ファイルを作って、autoload.ini で設定します。
$autoload['config'] = array('config_for_myapp');
リダレクトのパス
redirect('xxx');
xxx には、base_url() (config.php で指定したもの)以降のパスを指定。
