Fuelphp:モジュール化をする時の方法

FuelphpMVCモジュール化する時の設定方法をメモします。

開発を進めていくとファイルが膨大になってしまって、開発効率が落ちることがあります。
モジュール化することでMVCをまとめることができるので、開発する時にファイル等を参照しやすくなります。

また、ディレクトリごとコピーしてしまえば簡単に複製することができるので、開発効率も上がると思います。

FuelphpMVCモジュール化する場合の記述方法設定方法等を下記に記載します。


Fuelphpでモジュール化する方法

Fuelphpのディレクトリ構造はモジュール化をしない場合、
下記のような構造になっています。

fuelphp_module_1

モジュール化する場合は「modules」ディレクトリの中にモジュールごとに設置します。
今回は「hoge」というモジュールを作成しています。

fuelphp_module_2

コントローラー、モデル、ビューをモジュール内に設置します。


config.phpの設定

モジュール化を設定する為に「/fuel/app/config/config.php」を編集します。
下記のように「module_paths」を設定します。
※複数設定することも可能です。

	'module_paths' => array(
		APPPATH.'modules'.DS
	),

namespaceを設定

コントローラー、モデルにnamespaceを記述します。
下記は「hoge」というモジュールを作成した場合です。

※namespaceはモジュール名と同じにしてください。

controller

<?php

namespace Hoge;

use Hoge\Model\Hoge;

class Controller_Hoge extends \Controller_Template
{

model

<?php

namespace Hoge\Model;

class Hoge extends \Model {

モジュールの外にあるクラスを呼ぶ場合は、「\」を付けます。
下記のように「\」を先頭に記述します。

※モジュール内のクラスを呼ぶとき以外は全て付与しないとエラーになります。

\Uri::segment(1);

モジュール化を使用した方がファイルが参照しやすくなるので、とても便利です。
大きいプロジェクトなどでは最初の段階で設定しておいた方がいいと思います。