【CodeIgniter】Carbonパッケージを利用する




CodeIniter3系(3.1.4)でCarbonを使いたいと思ったのですがわからなかったので利用できるようにするまでの手順をまとめます。

前提条件

・composerでCarbonパッケージをインストールすることを前提とします。
・CodeIgniterのディレクトリ構成は以下を前提とします。

.
├── application/
├── composer.json
├── composer.lock
├── contributing.md
├── index.php
├── license.txt
├── readme.rst
├── system/
└── vendor/

CodeIgniterでCarbonパッケージを利用するための設定手順

(1)composer.jsonファイルが存在するディレクトリで以下のコマンドを実行

composer require nesbot/carbon

(2)application/config/config.phpの設定変更

vendorディレクトリがどこにあるかで設定内容は変わってきますが、config.phpのcomposer_autoload設定値をFALSEからautoload.phpファイルのフルパスに変更します。
この設定値がややこしくて、デフォルト値がFALSEなのでTRUEにすればよいのかと思ったのですが、TRUEにするとapplication/vendor/autoload.phpが設定されてしまいます。
上記パスであっているのであればTRUEでもいいのですが、今回はapplication/..にvendorディレクトリがあるのでフルパスを設定する必要があり、すこしはまりました。

$config['composer_autoload'] = FALSE;
↓
$config['composer_autoload'] = APPPATH . '../vendor/autoload.php';

(3)動作確認

設定自体はこれだけです。
後は動作確認してみます。
適当なコントローラークラスの先頭に以下を記述。

use Carbon\Carbon;

動作確認できるコードを適当に記述して動作確認します。
意図した結果が得られれば設定完了です。

Carbon::now();

Carbonだけでなくcomposerでインストールできるパッケージは基本これで使えるはずなので便利なものはどんどん利用した方が良さそうですね。