コラム

初めてfuelPHPに触れてハマったこと

2015-01-05

RM STAFF

WRITER:

RM STAFF

shutterstock_241547134
 

こんにちは。14新卒エンジニアの木野です。

 

今回は、リッチメディアで採用している、fuelPHPというフレームワークについて、ご紹介いたします。

 

fuelPHPとは

 

fuelPHP とは、PHPのフレームワークで、「規約より設定」の思想に基づいて、codeIgnitorの良いところをとってつくったようなフレームワークです。

公式サイトでは、

FuelPHP is a simple, flexible, community driven PHP 5.3 web framework based on the best ideas of other frameworks with a fresh start.

と謳っています。

 

具体的には以下の様な機能があります。

 

・- オートローダーがあり、使われるときに必要なクラスだけ読み込むことが出来る

・- viewModelがあり、viewに依存したロジックをviewModelに書くことにより、Modelがすっきりとする。

・- HMVCを標準搭載していたり、設定ファイルを環境ごとに複数持つことができるといった特徴もあります。

 

今回はそんな、FuelPHPにに触れて、ハマったことを書いていきたいと思います。

 

DBクラス以外データベースの切り替え機能がない

 

fuelphpはモデルからデータベースへのアクセスは、DBクラス、Model_Crudクラス、ORMパッケージの3つです。

 

 

executeの引数としてdatabaseの設定名をいれると切り替えが出来ます。

これに気づいた時には、sql単位で切り替えが出来るのはとても便利だなと思いました。

 

DB::select()の記法について

 

 

と書くと

select ‘count(hogehoge)’ from となってしまい、count(hogehoge)というカラムが存在しないというエラーが発生してしまう事があります。

これを回避するためにexpr関数()を利用しました。

 

 

expr関数はsqlをそのまま書くことが出来るため、とても便利ですが、誤った書き方をすると良くないことが起きるので、使う時は注意してください。

 

まとめ

 

私はこの2つで特にハマりました。おまけに、fuelphpはドキュメントが分かりにくいので、結構苦労しました…

 

shutterstock_113074558
 

ですが、fuelphpは便利な機能が多いため、採用するメリットは多くあると思います。

 

是非みなさん使ってみてはいかがでしょうか?