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取得一个类的属性和方法的实现代码
May 22 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
Oct 31 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
php动态生成缩略图并输出显示的方法
Apr 20 PHP
mysql_escape_string()函数用法分析
Apr 25 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 PHP
thinkPHP自定义类实现方法详解
Nov 30 PHP
yii框架无限极分类的实现方法
Apr 08 PHP
CodeIgniter整合Smarty的方法详解
Aug 25 PHP
PHP实现多图上传和单图上传功能
May 17 PHP
php+ajax实现文件切割上传功能示例
Mar 03 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自定义函数返回多个值
2006/11/26 PHP
用PHP写的MySQL数据库用户认证系统代码
2007/03/22 PHP
PHP加Nginx实现动态裁剪图片方案
2014/03/10 PHP
php除数取整示例
2014/04/24 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
2014/05/29 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
2014/06/30 PHP
php合并数组中相同元素的方法
2014/11/13 PHP
详解Laravel5.6 Passport实现Api接口认证
2018/07/27 PHP
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
解析John Resig Simple JavaScript Inheritance代码
2012/12/03 Javascript
如何制作浮动广告 JavaScript制作浮动广告代码
2012/12/30 Javascript
jQuery实现标题有打字效果的焦点图代码
2015/11/16 Javascript
聊一聊jQuery插件uploadify使用方法
2016/08/24 Javascript
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
vue中v-model的应用及使用详解
2018/06/27 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
Vue+Koa2+mongoose写一个像素绘板的实现方法
2019/09/10 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
谈谈JavaScript中的函数
2020/09/08 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
python实现两个文件合并功能
2018/04/01 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
2019/01/08 Python
使用python从三个角度解决josephus问题的方法
2020/03/27 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
欧洲最大的预定车位市场:JustPark
2020/01/06 全球购物
经典c++面试题五
2014/12/17 面试题
介绍一下write命令
2014/08/10 面试题
医学实习生自我鉴定
2013/12/12 职场文书
春季运动会广播稿大全
2014/02/19 职场文书
教学改革实施方案
2014/03/31 职场文书
药剂专业自荐信范文
2014/04/16 职场文书
推荐信模板
2014/05/09 职场文书
小学生保护环境倡议书
2014/05/15 职场文书
Python开发五子棋小游戏
2022/05/02 Python