在thinkphp里加入自定义的配置属性方法

这里先说明下, 我当前的想法是在thinkphp配置文件外(conf目录下config.php)建立一个配置文件,这个配置文件用来放我自己系统的一些常量,如网站名称,网站url,网站logo,网站keyword等信息,有别于thinkphp里的一些配置,所以,想要单独拿出来配置

配置文件名称:siteconfig.inc.php

我想把它放在系统的根目录下的Public目录  路径:根目录/Public 

在config加载的同时,这个文件也被加载使用. 

(参考的dwz+thinkphp)方法如下:

修改config.php,在头部加:(我的config位于APP叫Web应用下;具体路径是:根目录/Web/conf/config.php)

文件:config.php

=====

<?php

$siteconfig    =    require '../Public/siteconfig.inc.php';

$config=array(

'URL_MODEL'=>1, // 如果你的环境不支持PATHINFO 请设置为3
    'DB_TYPE'=>'mysql',
    'DB_HOST'=>'localhost',
    'DB_NAME'=>'wk_cms',
    'DB_USER'=>'root',
    'DB_PWD'=>'123456',
    'DB_PORT'=>'3306',
    'DB_PREFIX'=>'wk_',

//...

);

//config.php 末端 加上一句:

return array_merge($config,$siteconfig);

?>

=====

文件 siteconfig.inc.php

=====

<?php
//网站配置文件
if (!defined('THINK_PATH')) exit();//判断是否加载thinkphp,如果否则退出
return array(
    'SITENAME'=>'DWZ富客户端框架 - thinkphp2.0',
    'EMAIL'=>'[email protected]',
    'CONTACT'=>'张慧华',
    'COMPANY'=>'dwz研发组',
    'PHONE'=>'',
    'FAX'=>'',
    'ADDRESS'=>'',
    'OFFLINEMESSAGE'=>'本站正在维护中,暂不能访问。<br /> 请稍后再访问本站。',
    'SITEURL'=>'http://thinkphp.dwzjs.com',
    'DEMOURL'=>'http://demo.dwzjs.com',
    'BBSOURL'=>'http://bbs.dwzjs.com',
);
?>

====

Q:新加载进来的静态变量如何在模板里调用?

A:{$Think.config.sitename}

不必担心大小写,官方推荐将静态变量大写;但是无论大写还是小写,统统会被转成小写处理

Q:新加载进来的静态变量如何在类里面调用?

A:$Think.config.sitename


个人的一点体会:

由于可以设定静态变量到文件,所以,没有必要写入数据库;如果写入数据库又需要频繁调用;会影响速度

所以,当前流行的做法都是将常用配置写到文件,然后在后台写一个replace的脚本;

为了便于管理,我在app叫admin(系统管理后台)的config.PHP也加载了siteconfig.inc.php;目的就是在后台可以加载,并可以在后台修改;所以,我把siteconfig.inc.php放到了public目录下

你可能感兴趣的:(在thinkphp里加入自定义的配置属性方法)