4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

define一括定義クラス

Last updated at Posted at 2014-02-15

PHPリハビリ中

sc1.png

DefineClass
<?php

// 使い方
print '<pre>';


// 配列形式でkeyとvalueにそれぞれ、
// 定義する名前とテキストを入れる
MyDefine::define(array(
        array('__test1' => 'test1'),
        array('__test2' => 'test2'),
        array('__test3' => 'test3'),
    ));



$arrMyDefine = MyDefine::check();

echo 'Check ↓'.PHP_EOL;
var_dump($arrMyDefine);

print '</pre>';





Class MyDefine {
    // 配列形式でkeyとvalueにそれぞれ、
    // 定義する名前とテキストを入れる
    static function define($arrDefine)
    {
        // 配列から宣言用の 連想配列を取得する
        foreach($arrDefine as $arr) {

            // 連想配列から宣言名と宣言テキストに分けて宣言済み確認しつつ宣言してく。
            foreach($arr as $key => $val) {

                // defineされていなければ定義する
                if ( !defined($key) ) {
                    define($key, $val);
                    define('__MY'.$key, $val);
                }
                else {
                    print("{$key} => {$val}はすてに宣言されています。");
                }
            }
        }
    }

    // 宣言済みの定数を取得する
    static function check()
    {
        $arrConst    = get_defined_constants() ;
        $arrMyDefine = array();
        foreach($arrConst as $k => $v) {

            if (substr($k, 0, 4) === '__MY') {
                $arrMyDefine[substr($k, 4)] = $v;
            }
        }
        return $arrMyDefine;
    }
}




4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?