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音乐采集(部分代码)
Feb 14 PHP
PHP 输出缓存详解
Jun 20 PHP
PHP对字符串的递增运算分析
Aug 08 PHP
php压缩多个CSS为一个css的代码并缓存
Apr 21 PHP
php发送post请求函数分享
Mar 06 PHP
PHP防止刷新重复提交页面的示例代码
Nov 11 PHP
PHP实现微信网页授权开发教程
Jan 19 PHP
PHP Yaf框架的简单安装使用教程(推荐)
Jun 08 PHP
PHP中FTP相关函数小结
Jul 15 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
Oct 25 PHP
MAC下通过改apache配置文件切换php多版本的方法
Apr 26 PHP
laravel添加前台跳转成功页面示例
Oct 22 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
BBS(php & mysql)完整版(六)
2006/10/09 PHP
php+mysql分页代码详解
2008/03/27 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
2018/08/21 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
jQuery模拟select实现下拉菜单功能
2016/06/20 Javascript
JS常用加密编码与算法实例总结
2016/12/22 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
2017/06/12 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
nodeJS模块简单用法示例
2018/04/21 NodeJs
vue删除html内容的标签样式实例
2018/09/13 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
2019/04/20 Javascript
[02:25]DOTA2英雄基础教程 熊战士
2014/01/03 DOTA
python中精确输出JSON浮点数的方法
2014/04/18 Python
Python编程修改MP3文件名称的方法
2017/04/19 Python
django实现前后台交互实例
2017/08/07 Python
Python设计实现的计算器功能完整实例
2017/08/18 Python
图解Python变量与赋值
2018/04/03 Python
对pandas进行数据预处理的实例讲解
2018/04/20 Python
从django的中间件直接返回请求的方法
2018/05/30 Python
python的一些加密方法及python 加密模块
2019/07/11 Python
简单了解Python读取大文件代码实例
2019/12/18 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
canvas 如何绘制线段的实现方法
2018/07/12 HTML / CSS
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
给领导的致歉信范文
2014/01/13 职场文书
新浪微博实习心得体会
2014/01/27 职场文书
机械设计及其自动化求职推荐信
2014/02/17 职场文书
网管求职信
2014/03/03 职场文书
共青团员自我评价范文
2014/09/14 职场文书
乡镇计划生育工作汇报
2014/10/28 职场文书
详解Apache SkyWalking 告警配置指南
2021/04/22 Servers