FuelPHP

FuelPHPはPHPのWebアプリケーションフレームワークである。FuelPHP開発チームが開発し、MITライセンスで提供されている。

FuelPHPのインストール

あらかじめGitをインストールしておく。

http://fuelphp.com/にアクセスする。(以下、v1.8.2 の場合の例を示す)

「Download v1.8.2 now!」のリンクをクリックする。

fuelphp-1.8.2.zipのダウンロードが開始される。

fuelphp-1.8.2.zipを解凍して、htdocsフォルダに配置する。

インストールしたGitフォルダ(デフォルトではC:\Program Files\Git)にある Git Bash.vps を起動する。

Git Bashでfuelphp をインストールしたフォルダに移動し、「php composer.phar update」を実行する

ウェブブラウザで http://localhost/fuelphp/public/ と入力し、画面が出たらインストール成功しています。

FuelPHPのディレクトリ構成

FuelPHPのデフォルトのディレクトリ構成は次のとおり。

FuelPHPでは、各ディレクトリを次のように表記する。

定数ディレクトリ
APPPATHFuelPHPインストールディレクトリ/fuel/app/
COREPATHFuelPHPインストールディレクトリ/fuel/core/
PKGPATHFuelPHPインストールディレクトリ/fuel/packages/
DOCROOTFuelPHPインストールディレクトリ/public/

MVC以外のクラス

Model、View、Controller及びViewModel以外のクラスはAPPPATH/classes/ディレクトリ下に配置する。階層を持たせてAPPPATH/classes/subdir/ディレクトリ下に置いても良い。階層化した場合、クラス名はSubdir_Fooのようにディレクトリセパレータ(_)でディレクトリ名とファイル名を区切る。

FuelPHPのException

例外 説明
HttpNotFoundException404 Not Found
HttpServerErrorException500 Internal Server Error
PhpErrorException PHPエラー

コーディング標準

PHPタグの閉じ方

PHPのコードのみ含むファイルは、閉じタグ(?>)を省略する。

インデント

インデントはスペースではなくタブを使用する。インデントした後はタブではなく、スペースを使用して整形する。

改行コード

行の末尾はUnix形式のLFにする。

ファイル名

ファイル名はすべて小文字にする。

エンコーディング

ファイルはUTF-8で保存し、BOMは使用しない。

名前空間の命名規則

コアクラスはすべてFuel\Coreというネームスペースにする。

クラスの命名規則

クラス名は単語の境界にアンダースコアを使用し、クラス名の各単語は大文字で始める。アンダースコアは、オートロードの際にディレクトリの境界に使用されている。キャメルケースの使用は避ける。

メソッドの命名規則

クラス名同様、メソッド名は単語の境界でキャメルケースではなくアンダースコアを使用する。メソッド名はすべて小文字にする。スコープ(public, protected, private)は常に含める。メソッド名の1文字目にアンダースコアを使用できる。これはメソッドがprotected又はprivateであることを示すために使用される。

コーディング標準に従ったメソッド名の例を次に示す。

public static function get_interface_name() {
  // 何らかの処理
}

コーディング標準に従っていないメソッド名の例を次に示す。

public static function getInterfaceName() {
  // 何らかの処理
}

変数の命名規則

変数名は小文字とアンダースコアだけを含むようにする。ループイテレータは短く、なるべく単一文字にする。

定数の命名規則

定数はすべて大文字にすること以外は変数と同じ。

キーワード

キーワード(true、false、null及びasなど)は、すべて小文字にする。プリミティブ型(array、integer及びstringnなど)も同様である。

制御構造

制御に関するキーワード(if、for、foreach、while及びswitchなど)は、パラメータや引数のリスト、又は値にスペースを続ける。ブレースは新しい行にする。breakはcaseと同じインデントにする。

FuelPHPルーティング

ルート設定はルート設定ファイル(fuel/app/config/routes.php)で行う。

名前付きパラメータ

ルート設定では、名前付きパラメータを使用できる。これにより、URIセグメントに対して名前を与えることができ、アクションメソッドの名前でアクセスできる。

return array('blog/:year/:month/:id' => 'blog/entry')

上の例では、/blog/2013/08/entry_nameblogコントローラ内のentryアクションにルーティングされる。そこでは、下記のような名前付きパラメータを使うことができる。

$this->param('year')
$this->param('month')
$this->param('id')

データベースへのアクセス

データベースの利用方法は3つある。

DBクラス

$result = DB::query('SELECT * FROM employee WHERE empno = 1');
$result->execute();
$result = DB::select('empno', 'empname')->from('employee')->execute()->get('empno');
$result->execute();

Model_Crudクラス

class Model_Select extends \Model_Crud {
    protected static $_table_name = 'employee';
    protected static $_primary_key = 'empno';
}
public function action_select() {
    $result = Model_Select::find_all();
}

ORMパッケージ

class Model_Employee extends \Orm\Model {
    protected static $_table_name = 'employee';
    protected static $_primary_key = array('empno');
    protected static $_properties = array('empno', 'empname');
}