Fuelphp:Fuelphpでcoreクラスを拡張する方法

フレームワークを使用してシステムを開発しているとコアクラスを変更したり、処理を追加したい場合があります。
あまりコアクラスは変更したくないので、コアクラスを拡張して処理を記述します。

今回はFuelphpcoreクラス拡張し、処理を追加したり、オーバーライドする方法をメモします。


Fuelphpでcoreクラスを拡張する

Paginationクラスを拡張する場合、「fuel/app/classes」の直下に「pagination.php」を作成します。
作成した「pagination.php」に処理を追加したり、オーバーライドしたい処理を記述します。
※「fuel/core/classes/pagination.php」をオーバーライドします。

1
2
3
4
5
6
7
<?php
 
class Pagination extends Fuel\Core\Pagination
{
    // 処理を記述
 
}

処理を記述したら、「fuel/app/bootstrap.php」を下記のように編集します。
作成した「pagination.php」を読み込むように記述します。

1
2
3
4
5
Autoloader::add_classes(array(
    // Add classes you want to override here
    // Example: 'View' => APPPATH.'classes/view.php',
    'Pagination' => APPPATH.'classes/pagination.php',
));

「bootstrap.php」に拡張したクラスを追加すれば、拡張した処理を使用することができます。