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 相关文章推荐
Session的工作方式
Oct 09 PHP
php5 mysql分页实例代码
Apr 10 PHP
Ajax+PHP边学边练 之五 图片处理
Dec 03 PHP
php 生成随机验证码图片代码
Feb 08 PHP
PHP的变量总结 新手推荐
Apr 18 PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
Mar 08 PHP
PHP的魔术常量__METHOD__简介
Jul 08 PHP
浅析PHP中的i++与++i的区别及效率
Jun 15 PHP
Redis使用Eval多个键值自增的操作实例
Nov 04 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
Feb 07 PHP
PHP数组array类常见操作示例
May 15 PHP
详解Laravel框架的依赖注入功能
May 27 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与MySQL开发的8个技巧小结
2010/12/17 PHP
php 数组的一个悲剧?
2011/05/11 PHP
用php来改写404错误页让你的页面更友好
2013/01/24 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
2016/10/29 PHP
js 静态动态成员 and 信息的封装和隐藏
2011/05/29 Javascript
Javascript拓展String方法小结
2013/07/08 Javascript
jquery隔行换色效果实现方法
2015/01/15 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
浅谈$('div a') 与$('div>a')的区别
2016/07/18 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
2017/04/24 Javascript
JavaScript this指向相关原理及实例解析
2020/07/10 Javascript
详解vue中v-on事件监听指令的基本用法
2020/07/22 Javascript
Vue实现简易购物车页面
2020/12/30 Vue.js
JavaScript代码实现微博批量取消关注功能
2021/02/05 Javascript
[20:21]《一刀刀一天》第十六期:TI国际邀请赛正式打响,总奖金超过550万
2014/05/23 DOTA
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
python实现删除文件与目录的方法
2014/11/10 Python
在Python的Tornado框架中实现简单的在线代理的教程
2015/05/02 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
python 类对象和实例对象动态添加方法(分享)
2017/12/31 Python
ubuntu安装mysql pycharm sublime
2018/02/20 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
python基于socket实现的UDP及TCP通讯功能示例
2019/11/01 Python
python实现经典排序算法的示例代码
2021/02/07 Python
html5指南-7.geolocation结合google maps开发一个小的应用
2013/01/07 HTML / CSS
俄罗斯有趣和原创礼物网上商店:MagicMag
2019/08/01 全球购物
军用级手机壳,专为冒险而建:Zizo Wireless
2019/08/07 全球购物
毕业生的自我鉴定
2013/10/29 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
技术入股合作协议书
2014/10/07 职场文书
谢师宴家长答谢词
2015/09/30 职场文书
pandas中关于apply+lambda的应用
2022/02/28 Python