Phalconでnewを使わずにデータをCRUDする
私個人としてはコントローラー等であまりnew演算子を使うのが好きではないので、getInstanceしてからINSERT処理を行っています。
newでインスタンス化した場合
$hoge = new Hoge();
getInstanceした場合
まずはmodelクラスに下記を追加します。
private static $_instance;
public static function getInstance()
{
if (!isset(self::$_instance)) {
self::$_instance = new Hoge;
}
return self::$_instance;
}
その後にコントローラーやロジッククラスでgetInstanceすれば、new演算子を使わずにINSERTやUPDATE処理を行えます。
public function insertAction()
{
$name = $this->request->getPost('name');
$age = $this->request->getPost('age');
Hoge::getInstance()->save(
[
'name' => $name,
'age' => $age,
]);
}
new演算子を使うと冗長化する場合が多いですが、これだとすっきりするのでお勧めです。