L'exemple de cet article décrit les méthodes de lecture et de configuration C dans thinkPHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
1. Configuration publique du projet
Conf/config.php
Le contenu est le suivant
<?php /** *项目公共配置 *@package *@author **/ return array( 'LOAD_EXT_CONFIG' => 'db,info,email,safe,upfile,cache,route,app,alipay,sms,platform,store,pay', 'APP_AUTOLOAD_PATH' => '@.ORG', 'OUTPUT_ENCODE' => true, //页面压缩输出 'PAGE_NUM' => 15, /*Cookie配置*/ 'COOKIE_PATH' => '/', // Cookie路径 'COOKIE_PREFIX' => '', // Cookie前缀 避免冲突 /*定义模版标签*/ 'TMPL_L_DELIM' =>'{sh:', //模板引擎普通标签开始标记 'TMPL_R_DELIM' =>'}', //模板引擎普通标签结束标记 'TMPL_CACHE_ON' => false, //关闭模板缓存 'DEFAULT_GROUP' => 'Home', //默认访问分组,设置默认入口 'APP_GROUP_LIST' => 'Agent,Home,System,User,Store,Wap,Mall,Opener', // 项目分组设定,多个组之间用逗号分隔,例如'Home,Admin' 'PUBLIC_RESOURSE' => './Public/', 'URL_404_REDIRECT' => './Tpl/404.html', ); ?>
'LOAD_EXT_CONFIG' => 'db,info,email,safe,upfile,cache,route,app,alipay,sms,platform,store,pay' détermine la configuration supplémentaire à charger, ces configurations peuvent être lues via la méthode C() et sont globalement valides.
2. Si le regroupement de modules est activé, vous pouvez définir un fichier de configuration pour chaque groupe séparément. Le fichier de configuration de regroupement se trouve dans :
Répertoire de configuration du projet/nom du groupe/config.php<. 🎜>
'APP_GROUP_LIST' => 'Home,Admin', //项目分组设定 'DEFAULT_GROUP' => 'Home', //默认分组
Conf/Home/config.php Conf/Admin/config.php
C('参数名称')//获取已经设置的参数值
C('USER_CONFIG.USER_TYPE')//获取用户配置中的用户类型设置
'HTML_CACHE_TIME' => 60, //静态缓存有效期(秒) 'HTML_CACHE_TIME' => 80,
'LOAD_EXT_CONFIG' => 'db,info,email,safe,upfile,cache,route,app,alipay,sms,platform,store,pay'
/** * 获取和设置配置参数 支持批量定义 * @param string|array $name 配置变量 * @param mixed $value 配置值 * @return mixed */ function C($name=null, $value=null) { static $_config = array(); // 无参数时获取所有 if (empty($name)) { if(!empty($value) && $array = cache('c_'.$value)) { $_config = array_merge($_config, array_change_key_case($array)); } return $_config; } // 优先执行设置获取或赋值 if (is_string($name)) { if (!strpos($name, '.')) { $name = strtolower($name); if (is_null($value)) return isset($_config[$name]) ? $_config[$name] : null; $_config[$name] = $value; return; } // 二维数组设置和获取支持 $name = explode('.', $name); $name[0] = strtolower($name[0]); if (is_null($value)) return isset($_config[$name[0]][$name[1]]) ? $_config[$name[0]][$name[1]] : null; $_config[$name[0]][$name[1]] = $value; return; } // 批量设置 if (is_array($name)){ $_config = array_merge($_config, array_change_key_case($name)); if(!empty($value)) {// 保存配置值 cache('c_'.$value,$_config); } return; } return null; // 避免非法参数 }