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 相关文章推荐
桌面中心(一)创建数据库
Oct 09 PHP
PHP中函数内引用全局变量的方法
Oct 20 PHP
解析PHP自带的进位制之间的转换函数
Jun 08 PHP
PHP迭代器实现斐波纳契数列的函数
Nov 12 PHP
php实现cookie加密的方法
Mar 10 PHP
PHP数组与对象之间使用递归实现转换的方法
Jun 24 PHP
PHP 前加at符合@的作用解析
Jul 31 PHP
YII2.0之Activeform表单组件用法实例
Jan 09 PHP
Yii CGridView用法实例详解
Jul 12 PHP
PHP请求Socket接口测试实例
Aug 12 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
Oct 14 PHP
php微信扫码支付 php公众号支付
Mar 24 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数组函数知识汇总
2016/05/12 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
基于Jquery的简单图片切换效果
2011/01/06 Javascript
前台js调用后台方法示例
2013/12/02 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
2016/12/09 Javascript
Vue中fragment.js使用方法详解
2017/03/09 Javascript
vue.js开发环境搭建教程
2017/05/04 Javascript
详解原生js实现offset方法
2017/06/15 Javascript
Vue ElementUI之Form表单验证遇到的问题
2017/08/21 Javascript
js 两数组去除重复数值的实例
2017/12/06 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
jquery插件开发模式实例详解
2019/07/20 jQuery
Vue + element 实现多选框组并保存已选id集合的示例代码
2020/06/03 Javascript
基于vue hash模式微信分享#号的解决
2020/09/07 Javascript
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
使用pycharm设置控制台不换行的操作方法
2019/01/19 Python
Python常用特殊方法实例总结
2019/03/22 Python
Python中的上下文管理器相关知识详解
2019/09/19 Python
python 实现二维字典的键值合并等函数
2019/12/06 Python
pytorch 求网络模型参数实例
2019/12/30 Python
PyTorch中的Variable变量详解
2020/01/07 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
python网络编程:socketserver的基本使用方法实例分析
2020/04/09 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
2020/06/11 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
P D PAOLA法国官网:西班牙著名的珠宝首饰品牌
2020/02/15 全球购物
毕业生护理专业个人求职信范文
2014/01/04 职场文书
春节晚会主持词
2014/03/24 职场文书
保护母亲河倡议书
2014/04/14 职场文书
大学生考试作弊检讨书
2014/09/21 职场文书
班主任班级管理心得体会
2016/01/07 职场文书
MySQL三种方式实现递归查询
2022/04/18 MySQL