THINKPHP支持YAML配置文件的设置方法
为什么要用 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!
相关推荐
-
ThinkPHP的常用配置选项汇总
本文实例讲述了ThinkPHP的常用配置选项.分享给大家供大家参考,具体如下: return array( /* Dispatch设置 */ 'DISPATCH_ON' => true, // 是否启用Dispatcher // URL模式: 0 普通模式 1 PATHINFO 2 REWRITE 3 兼容模式 当DISPATCH_ON开启后有效 'URL_MODEL' => 1, // 默认为PATHINFO 模式,提供最好的用户体验和SEO支持 // PATHINFO 模式 // 普通模式
-
thinkPHP5.0框架独立配置与动态配置方法
本文实例讲述了thinkPHP5.0框架独立配置与动态配置方法.分享给大家供大家参考,具体如下: 独立配置文件: 新版支持配置文件分离,只需要配置extra_config_list参数(在应用公共配置文件中). 例如,不使用独立配置文件的话,数据库配置信息应该是在config.php中配置如下: /* 数据库设置 */ 'database' => [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '127.0.0.1', // 数据
-
thinkPHP5.0框架简单配置作用域的方法
本文实例讲述了thinkPHP5.0框架简单配置作用域的方法.分享给大家供大家参考,具体如下: 配置参数支持作用域的概念,默认情况下,所有参数都在同一个系统默认作用域下面.如果你的配置参数需要用于不同的项目或者相互隔离,那么就可以使用作用域功能,作用域的作用好比是配置参数的命名空间一样. // 导入my_config.php中的配置参数,并纳入user作用域 Config::load('my_config.php','','user'); // 解析并导入my_config.ini 中的配置参数
-
thinkPHP5.0框架环境变量配置方法
本文实例讲述了thinkPHP5.0框架环境变量配置方法.分享给大家供大家参考,具体如下: 允许使用环境变量配置,并且优先级别比在配置文件中要高,因为在读取配置参数的时候,首先会判断环境变量中是否存在该配置. 在开发过程中,可以在应用根目录下面的.env来模拟环境变量配置,.env文件中的配置参数定义格式采用ini方式,例如: app_debug = true app_trace = true 如果你的部署环境单独配置了环境变量,那么请删除.env配置文件,避免冲突. 环境变量配置的参数会全部转
-
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
本文实例讲述了ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法.分享给大家供大家参考,具体如下: 在作业管理系统中,学生登陆到个人中心后可以通过左侧的菜单查看自己已经提交的作业和未提交作业.那么在系统中如何实现这些数据的查询的呢?首先我们需要弄清楚学生(Student).班级(class).作业提交表(Submit)这三个表之间的关系. 1. 每个学生都属于一个班级 2. 班级里的每个学生都会被布置同样的作业 3. 学生提交作业后会在作业提交表中添加响应的记录,如学生的I
-
ThinkPHP项目分组配置方法分析
本文实例讲述了ThinkPHP项目分组配置方法.分享给大家供大家参考,具体如下: 项目分组概述 项目分组是 ThinkPHP 一个重要机制,项目分组功能可以把以往的多项目合并到一个项目中去,对于公共的文件可以重用,但每个分组又可以有自己独立的配置文件.公共文件.语言包等. 以一个普通的网站为例,如果不采用项目分组,那么通常是将网站前台(提供给用户浏览部分)作为一个项目.而网站的后台管理部分,可能有独立的配置文件,CSS文件及模板等,因此作为另一个项目来管理.但实际上这两个项目都是网站的内容,他们
-
thinkPHP5.0框架配置格式、加载解析与读取方法
本文实例讲述了thinkPHP5.0框架配置格式.加载解析与读取方法.分享给大家供大家参考,具体如下: ThinkPHP支持多种格式的配置格式,但最终都是解析为PHP数组的方式. PHP数组定义 返回PHP数组的方式是默认的配置定义格式,例如: //项目配置文件 return [ // 默认模块名 'default_module' => 'index', // 默认控制器名 'default_controller' => 'Index', // 默认操作名 'default_action' =
-
thinkphp配置文件路径的实现方法
如下所示: //系统常量定义 //去THinkPHP手册中进行查找 echo "<br>"."网站的根目录地址".__ROOT__." "; echo "<br>"."入口文件地址".__APP__." "; echo "<br>"."当前模块地址".__URL__." "; echo &qu
-
nginx下配置thinkphp文件的方法
在上篇文章给大家介绍了在Nginx上部署ThinkPHP项目教程,今天给大家介绍nginx下thinkphp的配置,具体详解如下: ## domain redirect #if ($host != "my.ruanzhuangyun.cn"){ # rewrite ^/(.*)$ http://my.ruanzhuangyun.cn/$1 permanent; #} ## domain redirect ## tp pathinfo location /data/www/tp.360r
-
Nginx配置支持ThinkPHP的PATH_INFO
概述 今天遇到一个问题,Ubuntu+Nginx+MySQL配置ThinkPHP的项目,做了一半发现,Nginx不支持ThinkPHP的PATH_INFO模式,百度了好久,在朋友的帮忙下才解决,记录下. Nginx支持ThinkPHP的PATH_INFO 环境 Ubuntu 14.04+Nginx+MySQL.所有程序都是通过apt-get安装的,所以Nginx的配置文件路径在/etc/nginx/sites-available/default. 解决方法 定位到Nginx配置文件的如下部分:
-
Nginx下支持Thinkphp URL Rewrite的配置示例
概述 Nginx服务器现在已经成为相当流行的开源Web服务器,很多生产环境也都在使用Nginx服务器.现在做项目大多数时候都是在使用ThinkPHP,但是Nginx默认不支持ThinkPHP的pathinfo模式,需要进行一定的配置. Nginx配置文件 # # The default server # server { listen 80 default_server; #server_name www.example.com; #charset koi8-r; #access_log log
随机推荐
- Python字符串特性及常用字符串方法的简单笔记
- 防范SQL注入式攻击
- sqlplus登录\连接命令、sqlplus命令的使用大全
- SQLServer 2008中SQL增强之一:Values新用途
- iOS自定义日历控件的简单实现过程
- node.js中的fs.realpathSync方法使用说明
- JavaScript实现在页面间传值的方法
- 一些php项目中比较通用的php自建函数的详解
- Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
- 加载 Javascript 最佳实践
- 基于JQuery的一句话搞定手风琴菜单
- JQuery使用$.ajax和checkbox实现下次不在通知功能
- 详解Nginx中基本的内存池初始化配置
- Mybatis 开发注解快速入门
- Android编程实现抽屉效果的方法详解
- java中String的一些方法深入解析
- JavaWeb开发入门第一篇必备知识讲解
- PHP添加Xdebug扩展的方法
- Laravel 5框架学习之子视图和表单复用
- 一个简易需要注册的留言版程序