CodeIgniter Sparks を使ってみる
(2015/08/19) CodeIgniter Sparks は CodeIgniter 3.0 には対応していません。2.x でしか使えません。
CodeIgniter をスパークさせるための CodeIgniter Sparks が始まってます。
Sparks は CodeIgniter のためのパッケージマネージャ&リポジトリです。CodeIgniter 用のライブラリを共有し、簡単にインストール管理するためのサイトです。CodeIgniter のライブラリはさまざまな場所で公開されており、ここでという場所はありませんでした。その問題を解決するためのサイトが Sparks です。
EllisLab が運営しているわけではありませんが、Reactor エンジニアが中心になって始めたプロジェクトであり、今後は CodeIgniter のライブラリがここに集まってくるものと思われます。
それでは、Sparks の使い方を見ていきましょう。
以下を参考にします。
準備
Sparks は CLI を使わなくても使用できますが、CLI を使うと非常に簡単にインストールできます。
CLI からインストールする場合、curl が必要なのでインストールしておきます。
$ sudo apt-get install curl
Spark Manager のインストール
CodeIgniter のルートディレクトリに移動し、以下のコマンドを実行し、Sparks をインストールします。
$ php -r "$(curl -fsSL http://getsparks.org/go-sparks)"
Pulling down spark manager from http://getsparks.org/static/install/spark-manager-0.0.3.zip ... Pulling down Loader class core extension from http://getsparks.org/static/install/MY_Loader.php.txt ... Extracting zip package ... Cleaning up ... Spark Manager has been install successfully! Try: `php tools/spark help`
以下のファイルがインストールされたようです。
? application/core/MY_Loader.php ? tools/lib/spark/sources ? tools/lib/spark/spark_cli.php ? tools/lib/spark/spark_exception.php ? tools/lib/spark/spark_source.php ? tools/lib/spark/spark_type.php ? tools/lib/spark/spark_types/git_spark.php ? tools/lib/spark/spark_types/hg_spark.php ? tools/lib/spark/spark_types/zip_spark.php ? tools/lib/spark/spark_utils.php ? tools/spark
Sparks にあるライブラリのインストール方法
Sparks にあるライブラリは http://getsparks.org/packages/browse/latest よりブラウズできます。
それでは、サンプルライブラリ「example-spark」をインストールしてみます。このライブラリは Hello を echo するだけの、テスト用のライブラリです。
$ php tools/spark install example-spark
[ SPARK ] Retrieving spark detail from getsparks.org [ SPARK ] From Downtown! Retrieving spark from Mercurial repository at https://bitbucket.org/katzgrau/example-spark [ SPARK ] Installing spark [ SPARK ] Spark installed to ./sparks/example-spark/1.0 - You're on fire!
以下のファイルがインストールされたようです。
? sparks/example-spark/1.0/config/autoload.php ? sparks/example-spark/1.0/libraries/example_spark.php
$ cat sparks/example-spark/1.0/config/autoload.php
<?php # Load an example-spark library $autoload['libraries'] = array('example_spark');
$ cat sparks/example-spark/1.0/libraries/example_spark.php
<?php class Example_spark { public function printHello() { echo "Hello from the example spark!"; } }
ライブラリの使用方法
この「example-spark」を使うには、コントローラに以下のようなコードを書きます。
現在は、ライブラリのバージョン番号の指定が必要ですが、この仕様は変更されるかも知れません。
$this->load->spark('example-spark/1.0'); # We specify the version for now. This might change $this->example_spark->printHello(); # echo's "Hello from the example spark!"
以上のように、非常に簡単にライブラリをインストールして使うことができます。