thinkPHP5.0框架配置格式、加载剖析与读取方法_php实例_脚本之家

2020-02-15 08:35栏目:bob体育平台
TAG:

本文实例讲述了thinkPHP中配置的读取与C方法。分享给大家供大家参考,具体如下:

本文实例讲述了ThinkPHP3.2.3框架Memcache缓存使用方法。分享给大家供大家参考,具体如下:

本文实例讲述了thinkPHP5.0框架配置格式、加载解析与读取方法。分享给大家供大家参考,具体如下:

1.项目公共配置

前面一篇文章讲述了Linux下安装Memcached服务器和客户端,这里来总结一下ThinkPHP3.2.3框架Memcache的使用方法。

ThinkPHP支持多种格式的配置格式,但最终都是解析为PHP数组的方式。

Conf/config.php

方法一:原生Memcache的写法

PHP数组定义

 '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',);?>
public function test1() { $mc = new Memcache(); //创建Memcache对象 $mc->connect; //连接Memcached服务器 $mc->set('test1','hello world',0,10); //存储数据 echo $mc->get; //获取数据 $mc->delete; //删除数据 $mc->flush(); //强制刷新全部缓存,即清空Memcached服务器 $mc->close(); //断开与Memcached服务器的连接}

返回PHP数组的方式是默认的配置定义格式,例如:

'LOAD_EXT_CONFIG' => 'db,info,email,safe,upfile,cache,route,app,alipay,sms,platform,store,pay' 确定加载的额外的配置,这些配置都可以通过C()方法读取,全局有效。

方法二:直接调用集成好的Memcache缓存驱动

//项目配置文件return [ // 默认模块名 'default_module' => 'index', // 默认控制器名 'default_controller' => 'Index', // 默认操作名 'default_action' => 'index', //更多配置参数 //...];

2.如果启用了模块分组,则可以在对每个分组单独定义配置文件,分组配置文件位于:

public function test2() { $mc = new ThinkCacheDriverMemcache(); //实例化Memcache驱动 $mc->set('test2','hello world',60); //写入缓存 echo $mc->get; //读取缓存 $mc->rm; //删除指定缓存 $mc->clear(); //清空全部缓存}

配置参数名不区分大小写,新版的建议是使用小写定义配置参数的规范。

项目配置目录/分组名称/config.php

方法三:S方法

还可以在配置文件中可以使用二维数组来配置更多的信息,例如:

'APP_GROUP_LIST' => 'Home,Admin', //项目分组设定'DEFAULT_GROUP' => 'Home', //默认分组
public function test3() { //缓存初始化 S(array( 'type'=>'memcache', //缓存类型 'host'=>'127.0.0.1', //Memcache服务器地址 'port'=>'11211', //Memcache端口号 'prefix'=>'think', //缓存标识前缀 'expire'=>10,) //缓存有效期; //设置缓存 S('test3','hello world'); //可以改变缓存时间:S('test3','hello world',60); //读取缓存 echo S; //删除缓存 S;}
//项目配置文件return [ 'cache' => [ 'type' => 'File', 'path' => CACHE_PATH, 'prefix' => '', 'expire' => 0, ],];

现在定义了Home和Admin两个分组,则我们可以定义分组配置文件如下:

②采用对象方式操作缓存

其他配置格式支持

Conf/Home/config.phpConf/Admin/config.php
public function test4() { $cache = S(array('type'=>'memcache','prefix'=>'think','expire'=>10)); //缓存初始化 $cache->test4 = 'hello world'; //设置缓存 echo $cache->test4; //获取缓存 unset; //删除缓存}

除了使用原生PHP数组之外,还可以使用json/xml/ini等其他格式支持。

每个分组的配置文件仅在当前分组有效,分组配置的定义格式和项目配置是一样的。

手册中关于S方法初始化:如果不传入type参数,会读取配置文件中设置的DATA_CACHE_TYPE作为默认缓存类型;如果不传入prefix参数,会读取DATA_CACHE_PREFIX作为默认缓存标识前缀;如果不传入expire参数,会读取DATA_CACHE_TIME作为默认缓存有效期。

例如,我们可以使用下面的方式读取json配置文件:

注意:分组名称区分大小写,必须和定义的分组名一致。

配置文件config.php中,关于Memcache缓存配置如下:

Config::parse(APP_PATH.'config/config.json');

3.读取配置

'DATA_CACHE_TYPE' => 'Memcache', //数据缓存类型'DATA_CACHE_PREFIX' => '', //缓存前缀'DATA_CACHE_TIME' => 10, //数据缓存有效期 0表示永久缓存'DATA_CACHE_COMPRESS' => false, //数据缓存是否压缩缓存

ini格式配置示例:

定义了配置文件之后,可以使用系统提供的C方法(如果觉得比较奇怪的话,可以借助Config单词来帮助记忆)来读取已有的配置

配置之后调用S方法无需再初始化

DEFAULT_MODULE=Index ;默认模块URL_MODEL=2 ;URL模式SESSION_AUTO_START=on ;是否开启session

版权声明:本文由bob体育app发布于bob体育平台,转载请注明出处:thinkPHP5.0框架配置格式、加载剖析与读取方法_php实例_脚本之家