おぼえがき

おぼえがき

fuelphp でpackageを作ってみる。lessphpをパッケージにしてみる

2013-01-18 | php
.lessファイルから、.cssに変換するためのfuelphpのパッケージを作ってみる

bootstrapのless使っていて毎回コンパイルすんのが面倒。
自動で出来たらいいとおもう。

==================================================
まずはパッケージを作る

package(パッケージ)つくればいいんか。
とりあえず、適当だけど、開発環境だから変換できれば良しとする

利用するのは、lessphpってやつ。

パッケージのファイル構造はこんな感じ
fuel/packages/lessphp]$ ls -R
bootstrap.php
classes/
-- lessphp.php


■bootstrap.phpの中身はこんな感じ
Autoloader::add_core_namespace('LessPHP');
Autoloader::add_classes(array(
'LessPHP' => __DIR__.'/classes/lessphp.php',
));


■lessphp.phpの中身はこんな感じ
class LessPHP
{
public static function compileFile($lessfile,$css)
{
require APPPATH.'vendor'.DS.'lessphp'.DS.'lessc.inc.php';
$less = new lessc;
$less->compileFile($lessfile, $css);
}
}

すげー雑。

==================================================
lessphpを持ってくる

lessphp本体をvendorディレクトリに置く。
fuel/app/vendor]$ ls
lessphp/
-- lessphpをダウンロードしたファイル一式(lessc.inc.phpが含まれているやつ)

==================================================
パッケージできたからconfigに設定入れよう

fuel/app/config]$ cat config.php

return array(
'always_load' => array(
'packages' => array(
'LessPHP'

==================================================
じゃー変換できるかやってみよう
コントローラーで変換させてみる

class Controller_Welcome extends Controller
{
public function action_index()
{
LessPhp::compileFile(lessのファイル,出力先のcssファイル名);
}
}
とりあえずできた。

毎回コンパイル走るのじゃまくさい。
Configファイルでオプションいれないとな
どうやって毎回走らないようにしようかな
どうやるのがいいんだろうか・・・

パッケージの作り方なんとなくわかった。


fuelphpでテンプレートエンジン(parser)を使う



FuelPHP入門
早川 聖司
ソーテック社