為什麼要用 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!