作者:oth0037112 | 来源:互联网 | 2018-05-26 10:32
ThinkPHP3.2.2使用yaml配置格式报错简单修复方法
好久没用ThinkPHP开发了,自己有个小项目需要开发,就想到用ThinkPHP开发,于是下载了最新了ThinkPHP3.2.2,发现里面有个composer.json文件,看到这个文件我真的好开心,因为这样管理第三方代码就方便多了,关于composer的更多内容推荐访问 composer官网 ,如果想简单的了解下,可以访问我的博客 Composer帮你轻松管理PHP包 这篇文章。
另一个让我比较爽的是ThinkPHP3.2.2版本开始,配置文件增加yaml/json/xml/ini以及自定义格式支持,我比较习惯使用yaml格式去配置一些信息,可以我按照官方文档在主入口文件中加了
// 定义配置格式
define('CONF_EXT','.yaml');
执行主入口文件,提醒我 Call to undefined function yaml_parse_file() 根据提示信息,原来官方没有提供yaml_parse_file() 函数。
解析yaml有一个比较成熟的 spyc 类,它不但可以将yaml格式的文件解析成PHP数组,还可以反过来玩,将PHP数组解析成yaml。spyc
我的解决思路是:
1. 在自己的项目目录下,创建composer.json
{
"require": {
"topthink/thinkphp": "dev-master",
"mustangostang/spyc": "0.5.*@dev"
}
}
2. 安装包
# composer install
3. 创建index.php
$loader = require 'vendor/autoload.php';
// 应用入口文件
// 检测PHP环境
if(version_compare(PHP_VERSION,&#039;5.3.0&#039;,&#039;<&#039;)) die(&#039;require PHP > 5.3.0 !&#039;);
// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define(&#039;APP_DEBUG&#039;,True);
// 定义应用目录
define(&#039;APP_PATH&#039;,&#039;./Application/&#039;);
// 定义配置格式
define(&#039;CONF_EXT&#039;,&#039;.yaml&#039;);
function yaml_parse_file($file) {
return Spyc::YAMLLoad($file);
}
// 引入ThinkPHP入口文件
require &#039;./vendor/topthink/thinkphp/ThinkPHP/ThinkPHP.php&#039;;
// 亲^_^ 后面不需要任何代码了 就是如此简单
4. 搞定啦
AD:真正免费,域名+虚机+企业邮箱=0元