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 13 PHP
PHP中HTML标签过滤技巧
Jan 07 PHP
php将mysql数据库整库导出生成sql文件的具体实现
Jan 08 PHP
PHP循环结构实例讲解
Feb 10 PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
Mar 08 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
Jun 12 PHP
盘点PHP和ASP.NET的10大对比!
Dec 24 PHP
php四种定界符详解
Feb 16 PHP
Yii 2.0中场景的使用教程
Jun 02 PHP
PHP实现下载远程图片保存到本地的方法
Jun 19 PHP
如何优雅的使用 laravel 的 validator验证方法
Nov 11 PHP
PHP如何使用cURL实现Get和Post请求
Jul 11 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中的注释、变量、数组、常量、函数应用介绍
2012/11/16 PHP
基于session_unset与session_destroy的区别详解
2013/06/03 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
2015/09/22 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
Yii框架分页实现方法详解
2017/05/20 PHP
php用户名的密码加密更安全的方法
2019/06/21 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
javascript 点击整页变灰的效果(可做退出效果)。
2008/01/09 Javascript
利用CSS、JavaScript及Ajax实现高效的图片预加载
2013/10/16 Javascript
js输入框邮箱自动提示功能代码实现
2013/12/10 Javascript
JavaScript更改字符串的大小写
2015/05/07 Javascript
javascript实现查找数组中最大值方法汇总
2016/02/13 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
微信小程序  简单实例(阅读器)的实例开发
2016/09/29 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
vue 里面使用axios 和封装的示例代码
2017/09/01 Javascript
完美解决iview 的select下拉框选项错位的问题
2018/03/02 Javascript
JS手写一个自定义Promise操作示例
2020/03/16 Javascript
vue各种事件监听实例(小结)
2020/06/24 Javascript
python3生成随机数实例
2014/10/20 Python
在win和Linux系统中python命令行运行的不同
2016/07/03 Python
python实现大文件分割与合并
2019/07/22 Python
HTML5拖放效果的实现代码
2016/11/17 HTML / CSS
Bluebella德国官网:英国性感内衣和睡衣品牌
2019/11/08 全球购物
美国滑板店:Tactics
2020/11/08 全球购物
函授本科毕业自我鉴定
2013/10/09 职场文书
工程业务员岗位职责
2013/12/31 职场文书
料理师求职信
2014/01/30 职场文书
《钱学森》听课反思
2014/03/01 职场文书
公证委托书大全
2014/04/04 职场文书
软件项目开发计划书
2014/05/01 职场文书
新闻人物通讯稿
2014/10/09 职场文书
2014年化验员工作总结
2014/11/18 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
地方课程教学计划
2015/01/19 职场文书