범주 통합 정의
5810 단어 PHP
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;
}
}
Reference
이 문제에 관하여(범주 통합 정의), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/GENYA/items/e47bd57d69cd4fc202af텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)