re2323 发表于 2015-6-11 08:41:03

thinkphp 跨模块调用配置文件信息

比如根目录下面/Conf/下面有config.php 文件
<?php
/**
*项目公共配置
**/
return array(
        'LOAD_EXT_CONFIG'                 => 'db,info,email,safe,upfile,cache,route,app,alipay,sms,rippleos_key',        //默认可以加载下面的php信息文件       
        'APP_AUTOLOAD_PATH'   =>'@.ORG',
        'OUTPUT_ENCODE'         =>true, /页面压缩输出
        'PAGE_NUM'                                => 15,
        /*Cookie配置*/
        'COOKIE_PATH'         => '/',                   // Cookie路径
    'COOKIE_PREFIX'         => '',                      // Cookie前缀 避免冲突
        /*定义模版标签*/
        'TMPL_L_DELIM'                   =>'{wqxiu:',        //模板引擎普通标签开始标记
        'TMPL_R_DELIM'                        =>'}',                //模板引擎普通标签结束标记
);
?>
info.php 文件
<?php
return array (
'site_name' => '网站名称',
'site_title' => '网站标题',
'site_url' => '网站链接',
);
我现在想要 在 /Application/Home/View/View/index.html中调用info.php中的信息 怎么办呢 ?
解决方法如下:
我首先 要在 /Application/Common/Conf/config.php 配置调用根目录的info.php信息

<?php
//config_arr1 表示 info.php中的信息   config_arr2 是当前的配置文件信息
$config_arr1 = include('./Conf/info.php');
$config_arr2 = array(
    /* 数据库设置 */
    'DB_TYPE' => 'mysql', // 数据库类型
    'SHOW_PAGE_TRACE' => FALSE,
    'TOKEN_ON' => true, // 是否开启令牌验证
    'TOKEN_NAME' => '__yj__', // 令牌验证的表单隐藏字段名称
    'TOKEN_TYPE' => 'md5', //令牌哈希验证规则 默认为MD5
    'TOKEN_RESET' => FALSE, //令牌验证出错后是否重置令牌 默认为true
    'LOAD_EXT_CONFIG' => 'systemConfig',
    'DEFAULT_C_LAYER'       =>'Controller', // 默认的控制器层名称
    'MODULE_ALLOW_LIST'   =>array('Home','s'), // 配置你原来的分组列表
    'DEFAULT_MODULE'      =>'Home', // 配置你原来的默认分组
    'MODULE_DENY_LIST'      =>array('Common','Runtime','Ucenter'),
    'URL_ROUTER_ON'   => true,// 开启路由

);
return array_merge($config_arr1, $config_arr2);

这样就可以在/Application/Home/Controller/IndexController.class.php 中使用thinkphp内置C函数调用 代码如下:
                $f_siteName=C('site_name');
                $this->assign('f_siteName',$f_siteName);
               
                $f_keyword=C('keyword');
                $this->assign('f_keyword',$f_keyword);
               
                $f_content=C('content');
                $this->assign('f_content',$f_content);

最后在/Application/Home/View/View/index.html 中输出 {$f_siteName} {$f_keyword} 就可以了

页: [1]
查看完整版本: thinkphp 跨模块调用配置文件信息