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数据结构与算法(PHP描述) 快速排序 quick sort
Jun 21 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
Apr 22 PHP
探讨如何把session存入数据库
Jun 07 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
Yii入门教程之Yii安装及hello world
Nov 25 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
Aug 21 PHP
PHP邮箱验证示例教程
Jun 01 PHP
centos7上编译安装php7以php-fpm方式连接apache
Nov 08 PHP
laravel 错误处理,接口错误返回json代码
Oct 25 PHP
php 使用 __call实现重载功能示例
Nov 18 PHP
PHP架构及原理知识点详解
Dec 22 PHP
tp5.1 框架路由操作-URL生成实例分析
May 26 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
php addslashes和mysql_real_escape_string
2010/01/24 PHP
用javascript获得地址栏参数的两种方法
2006/11/08 Javascript
破除网页鼠标右键被禁用的绝招大全
2006/12/27 Javascript
js中查找最近的共有祖先元素的实现代码
2010/12/30 Javascript
关于event.cancelBubble和event.stopPropagation()的区别介绍
2011/12/11 Javascript
用C/C++来实现 Node.js 的模块(一)
2014/09/24 Javascript
jQuery 回调函数(callback)的使用和基础
2015/02/26 Javascript
解决wx.onMenuShareTimeline出现的问题
2016/08/16 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
2种简单的js倒计时方式
2017/10/20 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
原生js拖拽功能制作滑动条实例代码
2021/02/05 Javascript
Golang与python线程详解及简单实例
2017/04/27 Python
python实现报表自动化详解
2017/11/16 Python
Python实现类似比特币的加密货币区块链的创建与交易实例
2018/03/20 Python
django的ORM模型的实现原理
2019/03/04 Python
浅谈python编译pyc工程--导包问题解决
2019/03/20 Python
PyTorch中Tensor的拼接与拆分的实现
2019/08/18 Python
Pytorch中实现只导入部分模型参数的方式
2020/01/02 Python
基于pytorch padding=SAME的解决方式
2020/02/18 Python
Python 实现平台类游戏添加跳跃功能
2020/03/27 Python
使用Django清空数据库并重新生成
2020/04/03 Python
python 读取二进制 显示图片案例
2020/04/24 Python
python--shutil移动文件到另一个路径的操作
2020/07/13 Python
如何利用Python写个坦克大战
2020/11/18 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
phpquery中文手册
2021/03/18 PHP
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
主管职责范文
2013/11/09 职场文书
高中生旷课检讨书
2014/10/08 职场文书
群众路线教育实践活动学习心得体会
2014/10/30 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
抢劫罪辩护词
2015/05/21 职场文书
开业庆典致辞
2015/08/01 职场文书
JS中一些高效的魔法运算符总结
2021/05/06 Javascript