FuelPHPからpChart(バージョン2)を使う
2013/02/14追記:この記事についてはpChartバージョン2についてのものであり、pChartバージョン1のものではありません。
pChartバージョン2はGPLv3と商用利用ライセンスのダブルライセンスです。
http://www.pchart.net/license
pChartバージョン1はGPLの表記がありますが、GPLv1〜3のどれに属するかははっきりしません。
http://pchart.sourceforge.net/ (Licensingの項を参照)
2013/02/14追記:pChartはGDライブラリを使用します。先にGDライブラリを有効化しておいてください。
とりあえずまずはここを参照。
https://github.com/digitales/FuelPHP-pChart
構成としては
fuelということになります。
├app
├core
└package
├(省略)
└pchart
├pChart2.1.3
│└(省略)
└bootstrap.php
※但し実際にはbootstrap.phpの
Autoloader::add_core_namespace('Pchart');の行は動作に影響を与えない(pChartが名前空間を持たないため)ので削除して構いません。
pChartをpackageとして追加したので、app/config/config.phpに以下を記述してパッケージを有効化。
<?php (省略) return array( (省略) 'always_load' => array( (省略) 'packages' => array( (省略) 'pchart', ), ), (省略) );
あとは以下のようにして利用する。
fuel/app/classes/controller/welcome.php
<?php (省略) public function action_pchart() { // fuel/package/pchart/pChart2.1.3/examples/example.basic.php をFuelPHP対応に書き換え $myData = new pData(); $myData->addPoints(array(1, 4, 3, 2, 3, 3, 2, 1, 0, 7, 4, 3, 2, 3, 3, 5, 1, 0, 7)); $myPicture = new pImage(700, 230, $myData); $myPicture->setFontProperties(array("FontName" => PKGPATH."pchart/pChart2.1.3/fonts/Forgotte.ttf", "FontSize" => 11)); $myPicture->setGraphArea(60, 40, 670, 190); $myPicture->drawScale(); $myPicture->drawSplineChart(); $myPicture->autoOutput(); return Response::forge(); } (省略)
fuel/app/views/welcome/index.php
(省略) <?php echo Html::img('welcome/pchart'); ?> (省略)
注意点:
pChartバージョン2がGPLv3のため、FuelPHPに組み込むと成果物がGPLv3に化けます。
ASPとしてサービス供用する限りは配布にあたらないので問題はないですが、納品物とする場合は注意が必要。
(発注元が「配布しない」ならば問題はなく、配りたがるかどうか次第)
納品物の配布制限が必要なら、pChartバージョン2の別ライセンス購入が必要と思われます。
2012/02/13追記:ASPでサービス利用料金を徴収している場合は、pChartバージョン2の商用利用のライセンスが必要になると考えられます。