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 〇〇〇() { 処理 } }