CakePHP Behavior操作

ビヘイビアとは

モデルから利用する共通処理
特定のモデルに限定しない処理を記述して、特定のモデルから利用する

ビヘイビアの作成

Behavior

※src\Model\Behavior\UtilBehavior.php
namespace App\Model\Behavior;

use Cake\ORM\Behavior;
use Cake\ORM\Table;

class UtilBehavior extends Behavior {

 public function initialize(array $config){
  parent::initialize($config);
 }

 public function getAll() {
  特定のモデルでないモデルを操作
  return $this->_table->find()->all();
 }
}

Model

class ~Table extends Table
{
 public function initialize(array $config){
  parent::initialize($config);
  ~
  ビヘイビアのロード
  $this->addBehavior('Util');
 }
}
 ~
}

ビヘイビアの利用

Controller

namespace App\Controller;
class ~Controller extends AppController
{
 public function initialize(){
  parent::initialize();
  $this->~= TableRegistry::get('~');
 }

 public function index(){
  $ret = $this->~->getAll();
 }
}

コメントを残す

メールアドレスが公開されることはありません。