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