FuelPHPでdefine()を設定して使いたい

あちこちで使う定数をラクして使えるようにしたい。

作成日:2018-01-24, 更新日:2020-01-09

基本

良い・悪いは分からない・・・ひとまずこんな感じでいけるってだけです。

▼app/confing/seed.php:define()したい内容の設定

<?php
return array(
   〇A〇 => □A□,
   〇B〇 => □B□,
);

▼app/classes/controller/zebra.php:コントローラーの最初でdefine()させる。

<?php
class Controller_Zebra extends Controller {
   
   // 「__construct()」と同じように最初に読み込まれる
   public function before() {
      // 「confing/seed.php」を読み込む
      \Config::load('seed', true);
      $defData = \Config::get('seed');
      
      // defined()されていないものだけセットする。
      if ( is_array($defData) ) {
         foreach ( $defData as $k=>$v) {
            if ( !defined($k) ) {
               define($k, $v);
            }
         }
      }
      
      // before()を使うなら、下記の記述が必要。
      parent::before();
   }
   
   // 各アクション
   public function action_〇〇〇() {
~略~

▼あとは好きなとこでdefine()で設定した定数を使う。

echo 〇A〇;

関連項目

fuelphp 独自で定数を指定 - こっちのほうが使い勝手が良さそう