[初心者向け] Codeigniter3をComposerを使ってインストールして動かすまで

CodeigniterのライセンスがMITライセンスになったからか、Codeigniter3.0が正式にリリースされたからか、Codeigniterが少しずつ話題にあがるようになりましたね。
そこで、Codeigniter3をComposerを使ってインストールして動かすまでをご紹介します。
追記2
@kenjiさんが、以下をパッケージにしてくださいました。すっげー便利。これから私もこれ使います!
codeigniter-composer-installer
追記1
以下のやり方は、githubで追って公開しております。
https://github.com/rdlabo/codeigniter_install/commits/master
なぜ、Composerを使ってインストールするか
Codeigniterをインストールするのに、Composerは必須ではありません。公式サイトから普通にzip形式でダウンロードできますしね。ただ、便利なので、Composerでのインストールをおすすめしております。
だって、Codeigniter本体がアップデートされる度に、毎回手動でインストール作業をやってられるかー!せめてコマンド1つで最新バージョンに置き換えて欲しいんだー!と思うじゃないですか(笑)
Composerが何者か、という点については、「Composer再入門」が詳しいです。最近のPHPの風潮として、「バージョン管理」と、「Aというパッケージをインストールする時に一緒にBというパッケージも一緒にインストールしないと動かないよ!という依存関係を自動的に解決するため」に、Composerを使うことが主流になってきていまして、使ってみたら便利だと思いますよ。
ちなみに、インストールは、「Composerのインストール」とかが参考になります。以下は、ComposerをPCにインストールしてからの作業手順となります。
Composerを使ってインストール
まず、Codeigniterをインストールするフォルダに移動して、そこに「composer.json」というファイルを用意します。中身は以下のようにして下さい。
[php]
{
"require": {
"codeigniter/framework": "dev-master"
}
}
[/php]
上記は、
「composerを使って、requireをインストールしますよ。内容は、https://packagist.org/ に登録されている“codeigniter/framework”で、バージョンは”dev-master”(最新バージョン)ですよ」
という意味です。なので、バージョンを固定したかったら、”dev-master”を”3.0rc3″とかに変更して下さい。
そして、ターミナル(コマンドライン)でそのフォルダに移動して、
[php]
composer install
[/php]
を実行します。そうしたら、「Loading composer repositories with package information」というガイドとともにダウンロードがはじまります。
CodeigniterをComposer用に設定
ダウンロードが完了したら、作業フォルダに「/vendor」というフォルダが生成され、その中は「/codeigniter/framework/Codeigniter」という構成になっており、ここにCodeigniterがダウンロードされております。
この時点では、Codeigniterをダウンロードしただけで、Composerを使ってパッケージ管理できるようになっておりませんので、この後、Codeigniter側の設定をしていきます。なお、これをやらずに「/vendor/codeigniter/framework/」の中で作業をしたら、バージョンアップの時に全ての作業データが消えて泣く羽目になるので、必ずやって下さい。私は泣きました。
1.フォルダ・ファイルをコピー
「/vendor/codeigniter/framework/application」と「/vendor/codeigniter/framework/index.php」をコピーして、vendorの外に配置します。私の場合は、「index.php」は「public_html」というフォルダを作ってその中に配置しておりますので、以下のようになります。
これは、開発で作業を行うファイルをvendorの外に出すために行うものです。
2.index.phpを書き換える
「public/index.php」は、ユーザがアクセスするファイルで、ここを起点にしてcodeigniterのシステムを呼び出しています。index.phpの配置を変更したので、呼び出すフォルダの位置を修正します。
101行目 $system_path = ‘system’;
↓
101行目 $system_path = ‘../vendor/codeigniter/framework/system’;
116行目 $application_folder = ‘application’;
↓
116行目 $application_folder = ‘../application’;
3.config.phpを書き換える
あと、「/application/config/config.php」も書き換える必要があります。これは、composerを使います、というのを明示してやる必要があるからです。
134行目 $config[‘composer_autoload’] = FALSE;
↓
134行目 $config[‘composer_autoload’] = realpath(APPPATH . “../vendor/autoload.php”);
3,終わりに
これで設定は終了です。それでは、楽しいcodeigniterライフを!