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(3) php 函数
Feb 15 PHP
PHP SEO优化之URL优化方法
Apr 21 PHP
php中用foreach来操作数组的代码
Jul 17 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
May 08 PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 PHP
php实现获取文章内容第一张图片的方法
Nov 04 PHP
php随机抽奖实例分析
Mar 04 PHP
谈谈 PHP7新增功能
Dec 16 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
Dec 27 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
Jul 31 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
PHP连接SQL server数据库测试脚本运行实例
Aug 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
关于UEditor编辑器远程图片上传失败的解决办法
2012/08/31 PHP
Zend的MVC机制使用分析(二)
2013/05/02 PHP
Smarty分页实现方法完整实例
2016/05/11 PHP
php mysql实现mysql_select_db选择数据库
2016/12/30 PHP
PHP实现八皇后算法
2019/05/06 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
javascript操作html控件实例(javascript添加html)
2013/12/02 Javascript
javascript简单实现图片预加载
2014/12/03 Javascript
JS的数组迭代方法
2015/02/05 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
详解angular用$sce服务来过滤HTML标签
2017/04/11 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
2017/05/02 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
Angular6新特性之Angular Material
2018/12/28 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
vue视频播放暂停代码
2019/11/08 Javascript
Vue v-model组件封装(类似弹窗组件)
2020/01/08 Javascript
js中switch语句的学习笔记
2020/03/25 Javascript
[59:15]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.20
2020/11/20 DOTA
Python解释执行原理分析
2014/08/22 Python
Python的Flask框架中实现登录用户的个人资料和头像的教程
2015/04/20 Python
基于pandas将类别属性转化为数值属性的方法
2018/07/25 Python
Python爬取个人微信朋友信息操作示例
2018/08/03 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
2019/07/06 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
三个python爬虫项目实例代码
2019/12/28 Python
Ubuntu16.04安装python3.6.5步骤详解
2020/01/10 Python
Python中如何引入第三方模块
2020/05/27 Python
CSS实现半透明边框与多重边框的场景分析
2019/11/13 HTML / CSS
详解HTML5新增标签
2017/11/27 HTML / CSS
Stubhub英国:购买体育、演唱会和剧院门票
2018/06/10 全球购物
文明餐桌行动实施方案
2014/02/19 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书
Python列表的索引与切片
2022/04/07 Python