[初心者向け] 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」というファイルを用意します。中身は以下のようにして下さい。

{
    "require": {
            "codeigniter/framework": "dev-master"
    }
}

 
上記は、
「composerを使って、requireをインストールしますよ。内容は、https://packagist.org/ に登録されている“codeigniter/framework”で、バージョンは”dev-master”(最新バージョン)ですよ」 
という意味です。なので、バージョンを固定したかったら、”dev-master”を”3.0rc3″とかに変更して下さい。
 
そして、ターミナル(コマンドライン)でそのフォルダに移動して、

composer install

 
を実行します。そうしたら、「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」というフォルダを作ってその中に配置しておりますので、以下のようになります。
 
スクリーンショット 2015-04-15 19.42.30
 
これは、開発で作業を行うファイルを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ライフを!

お問い合わせ