CodeIgniterをインストールしてみよう!!(その2)
PHP5.2.9でarray_unique関数の仕様変更が実施され、5.2.8以前と5.2.9ではこの関数の返す結果が変わるケースがあるそうです。
array_unique関数がPHP5.2.9から後方互換性を失いました
各FWでも利用されてるみたいで、CodeIgniterはActive Recordのキャッシュ時と、Trackbackライブラリ内で使ってるとの事で、どっちも使ってなくてセーフ!!(= ‘艸’)ムププ
イヤ、そういう問題じゃないでしょ!!オラァ(p゚ロ゚)==p)`д)グハッ
…と、自分ツッコミしていたら「Zend Frameworkでgrepしたら21箇所使ってたぜベイベ!!」などという情報を発見してしまい、あえなく撃沈。SymfonyもCakePHPも影響あるみたいです。ソースからビルドしてるので最新版バリバリ追っかけられるぜ!!と喜んでいたのですが、5.2.9に関しては、いつものごとく後先考えずインストール!!というのは避けた方が良さそうですね。
Zendの21箇所は自力じゃムリ(こういう割り切りは異常に早いのです)だから、CodeIgniterの方だけでも頑張ってソース修正してみようかなぁ…などと、大それた事を考えておりますが、本日は前回の予告エントリに基づき、CodeIgniter(以下CI)インストール第2弾なのです。
さて、前回のエントリであっという間にインストールは終わってしまいましたが、もう一歩踏み込んでみます。
まずは、デフォルトコントローラの設定です。/system/application/config/routes.phpを開きますと、
$route['default_controller'] = "welcome";
となっているかと思われます。このdefault_controllerというのは、前回指定したbase_urlにアクセスした時にCIがどのcontrollerを呼び出すのか?という指定ですね。ですから、この”welcome”となっている所を自分のサイト用のデフォルトにしたいcontroller名に変えてやれば良いワケです。
$route['default_controller'] = "home";
いつも大抵”home”か”top”にしておりまして、今回は気分で”home”にしてみました。気分で選んだりしてる間はいつまで経っても”プロ”グラマとは言えませんね(-ω-;)
で、モチロン上記のように指定したら”home”というcontrollerを用意してあげなくてはイケマセンので、/system/application/controllers/下にhome.phpを作成します。
controller、ファイル名、クラス名はそれぞれ対応しております(クラス名は最初大文字です!!)ので、home.phpではHomeというクラスを宣言いたしますです。さらにさらに、CIはURLによるメソッドの指定が無ければindexメソッドを呼び出す仕様ですので、何はなくともindexメソッドだけは作っておきます。
<home.php>
<?php if(!defined('BASEPATH')) exit('No direct script access allowed.');
class Home extends Controller
{
public function __construct()
{
parent::Controller();
}
public function index()
{
echo 'Hello World!!';
}
}
?>
これで、http://localhost/CodeIgniter/index.php/homeにアクセスすれば…
出ましたよね?Hello World!!
で、1行目のif文には何の意味があるのか?とか、URLのindex.phpはダサいね、とか考え出すと、どうしましょう??またも持ち越してしまいそうです(ノ゚ρ゚)ノ
中途半端に終わるのは気持ちが悪いので、キリのいい所まで書き記しておきたいのですが、恐るべき泥沼に片足を突っ込んだ予感&悪寒に襲われているのは何故でしょう??
と、とにかく今日はここまで。。゙(ノ><)ノ ヒィ
