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!"


以上のように、非常に簡単にライブラリをインストールして使うことができます。