- Version: 1.0
- PHP >= 5.4
- FuelPHP = 1.7/master
FuelPHPのコントローラーにCRUDを提供します。
標準のscaffoldで作成されるcontrollerを共通化し、traitで提供します。 簡単なCRUDのコントローラーはより簡便な記述で実装でき、複雑なコントローラーはオーバーライド可能なメソッド群で柔軟にカスタマイズ可能です。
-
git clone https://github.com/goosys/Fuel-Package-TraitCrud.git fuel/packages/trait-crud
-
vi fuel/app/config.php
always_load => packages => 'trait-crud', language => 'trait-crud'
-
ln -s ../../../trait-crud/views/scaffolding/trait-crud fuel/packages/oil/views/scaffolding/trait-crud
-
oil g scaffold/trait-crud animal name:varchar kana:varchar description:text flag:bool
-
vi fuel/app/lang/ja/model.php
return array( 'animal' => array( 'name' => '名称', 'kana' => 'ヨミ', 'description' => '説明', 'flag' => 'フラグ', ), );
-
cp fuel/app/lang/{ja,en}/model.php
- ln -s ../../packages/trait-crud/views/template.twig.php fuel/app/views/template.twig.php
- oil g scaffold/trait-crud-twig animal name:varchar kana:varchar description:text flag:bool
class Controller_Animal extends Controller_Template{
//CRUDを提供
use Trait_Crud;
//初期化
public function before(){
static::$model_name = 'Model_Animal';
static::$controller_name = 'Controller_Animal';
static::$func_validate = 'validate';
parent::before();
}
//機能を利用
public function action_index()
{
$this->_action_index();
$data = array('items'=> $this->stash['models']);
$this->template->content = View::forge('animal/index',$data);
}
}
public function _action_index(){}
public function _action_view($id = null){}
public function _action_create(){}
public function _action_edit($id = null){}
public function _action_validate(){}
public function _action_delete($id = null){}
public function _render_404(){}
public function _render_index(){}
public function _could_not_found_id( $params ){}
public function _render_view(){}
public function _set_model_from_input( $params ){}
public function _added( $params ){}
public function _could_not_save( $params ){}
public function _validation_error( $params ){}
public function _validated( $params ){}
public function _render_create(){}
public function _updated( $params ){}
public function _could_not_update( $params ){}
public function _set_model_from_validation( $params ){}
public function _render_edit(){}
public function _deleted( $params ){}
public function _could_not_delete( $params ){}
public function _render_delete(){}
- cp fuel/packages/trait-crud/views/scaffolding/trait-crud fuel/app/views/
- cp -r fuel/packages/trait-crud/views/include fuel/app/views/
Fuel-Package-TraitPaginationと組み合わせることで、より簡単に検索とページャー付きのCRUDが作成できます。
MIT License