THINKPHP支持YAML配置文件的设置方法

yipeiwu_com6年前PHP代码库

为什么要用 yaml

因为 Yaml 简单,而且对人类友好;

Yaml: http://www.yaml.org/

在哪里会用到?

最基本的,在 ThinkPHP 的配置文件里面就可以选择 Yaml 的格式,你是愿意写 Yaml 的简洁格式配置呢?还是愿意写又长又臭又难写的 PHP array 呢?

http://document.thinkphp.cn/manual_3_2.html

问题来了

于是,我把配置格式改为 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

结论:

在上面的 Git 里面下载 Spyc.php 放进 /ThinkPHP/Library/Vendor/spyc/ 目录下,就一切正常!Done with the right way!

相关文章

php中$_GET与$_POST过滤sql注入的方法

本文实例讲述了php中$_GET与$_POST过滤sql注入的方法,分享给大家供大家参考。具体分析如下: 此函数只能过滤一些敏感的sql命令了,像id=1这种大家还是需要自己简单过滤了。...

php实现获取近几日、月时间示例

本文实例讲述了php实现获取近几日、月时间。分享给大家供大家参考,具体如下: <?php date_default_timezone_set('Asia/Shangha...

PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】

本文实例讲述了PHP实现将几张照片拼接到一起的合成图片功能。分享给大家供大家参考,具体如下: <?php /** * 作品合成程序 * 针对单面,封面不做特殊处理...

php数值转换时间及时间转换数值用法示例

本文实例讲述了php数值转换时间及时间转换数值用法。分享给大家供大家参考,具体如下: echo $startime=strtotime(date("Y-m-d",time()));/...

PHP实现的数组和XML文件相互转换功能示例

本文实例讲述了PHP实现的数组和XML文件相互转换功能。分享给大家供大家参考,具体如下: 最近搞微信支付,微信服务器返回的都是XML文件,所以需要转换成数组,才会便于操作,好了话不多说,...