ラボ > PHP:各種エラー、ファイル関連、FuelPHP:エラー絡み

FuelPHP viewファイル内で関数を設定するとエラーになる(function_exists())

「htmlと処理は分けましょう」っていう観点から考えるとしょうがないんだけど・・・それでもどうにかしたい。

作成日:2018-02-23, 更新日:2018-07-10

経緯とエラー

特定のページのみで何度か使い回したい処理があったので、ビューの中にfunctionの設定を行った。
するとエラー。

ErrorException [ Compile Error ]:
Cannot redeclare 〇〇〇() (previously declared in /xxx/app/views/xxx.php:xxx)

※「すでに定義した関数をまた定義しようとしている」っていう内容。

「/app/classes/util/common.php」を作ってビューで「\Util_Common::XXX()」みたいな感じで呼び出せば解決する。

定義済みか確認:function_exists()

解決するのは分かるんだけど・・・大人の事情でできないコトがある。

そういうときは「function_exists()」で未定義のときのみ定義させる。

if ( !function_exists('〇〇〇') ) {
   function 〇〇〇() {
      処理
   }
}