THINKPHP支持YAML配置文件的设置方法


Posted in PHP onMarch 17, 2015

为什么要用 yaml

因为 Yaml 简单,而且对人类友好;

Yaml: http://www.yaml.org/

在哪里会用到?

最基本的,在 ThinkPHP 的配置文件里面就可以选择 Yaml 的格式,你是愿意写 Yaml 的简洁格式配置呢?还是愿意写又长又臭又难写的 PHP array 呢?

http://document.thinkphp.cn/manual_3_2.html#config_format

问题来了

于是,我把配置格式改为 Yaml:

// /index.php
// 定义配置文件的格式为 yaml

define('CONF_EXT', '.yaml');

然后把 Application 目录下面的 config.php 全部改为 config.yaml。

这个时候,报错:

Class ‘Spyc' not found 错误位置 FILE: D:\app\think\ThinkPHP\Common\functions.php  LINE: 90

然后找,发现这一段:
/**

 * 解析yaml文件返回一个数组

 * @param string $file 配置文件名

 * @return array

 */

if (!function_exists('yaml_parse_file')) {

    function yaml_parse_file($file) {

        vendor('spyc.Spyc');

        return Spyc::YAMLLoad($file);

    }

}

貌似引入 Spyc 这个库没找到。

找了一下,Spyc 在这里:https://github.com/mustangostang/spyc/

然后,这个 vendor 是什么东东?

看这里:http://document.thinkphp.cn/manual_3_2.html#autoload

结论:

在上面的 Git 里面下载 Spyc.php 放进 /ThinkPHP/Library/Vendor/spyc/ 目录下,就一切正常!Done with the right way!

PHP 相关文章推荐
php 删除cookie和浏览器重定向
Mar 16 PHP
Composer设置忽略版本匹配的方法
Apr 27 PHP
Joomla简单判断用户是否登录的方法
May 04 PHP
PHP请求远程地址设置超时时间的解决方法
Oct 29 PHP
PHP调试及性能分析工具Xdebug详解
Feb 09 PHP
使用composer命令加载vendor中的第三方类库 的方法
Jul 09 PHP
PHP命名空间定义与用法实例分析
Aug 14 PHP
TP5框架请求响应参数实例分析
Oct 17 PHP
thinkphp5 模型实例化获得数据对象的教程
Oct 18 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
Oct 24 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
Aug 20 PHP
php判断数组中是否存在指定键(key)的方法
Mar 17 #PHP
php在数组中查找指定值的方法
Mar 17 #PHP
php中使用key,value,current,next和prev函数遍历数组的方法
Mar 17 #PHP
PHP实现获取客户端IP并获取IP信息
Mar 17 #PHP
支付宝接口开发集成支付环境小结
Mar 17 #PHP
php读取文件内容到数组的方法
Mar 16 #PHP
php实现以只读方式打开文件的方法
Mar 16 #PHP
You might like
JAVA/JSP学习系列之四
2006/10/09 PHP
用PHP制作静态网站的模板框架(三)
2006/10/09 PHP
php下安装配置fckeditor编辑器的方法
2011/03/02 PHP
用PHP编写和读取XML的几种方式
2013/01/12 PHP
php环境下利用session防止页面重复刷新的具体实现
2014/01/09 PHP
php计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
php递归创建目录的方法
2015/02/02 PHP
限制复选框的最大可选数
2006/07/01 Javascript
js调用后台、后台调用前台等方法总结
2014/04/17 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
2015/01/02 Javascript
JavaScript中5种调用函数的方法
2015/03/12 Javascript
JavaScript探测CSS动画是否已经完成的方法
2016/08/30 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
2017/02/18 Javascript
信息滚动效果的实例讲解
2017/09/18 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
vue非父子组件通信问题及解决方法
2018/06/11 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
2018/11/15 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
2019/10/24 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
Python文件及目录操作实例详解
2015/06/04 Python
玩转python爬虫之cookie使用方法
2016/02/17 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
python 3.6 tkinter+urllib+json实现火车车次信息查询功能
2017/12/20 Python
python实现输入数字的连续加减方法
2018/06/22 Python
python实现汽车管理系统
2018/11/30 Python
使用python3构建文件传输的方法
2019/02/13 Python
python 多线程共享全局变量的优劣
2020/09/24 Python
介绍一下linux文件系统分配策略
2013/02/25 面试题
班主任评语大全
2014/04/26 职场文书
幼儿园开学通知
2015/04/24 职场文书
安全教育培训制度
2015/08/06 职场文书
关于做家务的心得体会
2016/01/23 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP
Golang标准库syscall详解(什么是系统调用)
2021/05/25 Golang