LotusPhp中配置文件组件LtConfig详解
LotusPhp中配置文件组件LtConfig是约定的一个重要组成部分,适用于多个场景,多数的LotusPhp组件如数据库,缓存,RBAC,表单验证等都需要用到配置组件,LtConfig配置组件也是LotusPhp框架中的基类。
以后讲解LotusPhp组件的时候都会讲解配置文件的内容和格式,本章节主要说的是配置文件的文件目录要求,格式以及实际应用。
LtConfig组件有2个组成部分,框架目录中的Config.php和ConfigExpression.php
主要通过LtConfig读取,写入,更新配置文件,而配置文件是通过文本文件的形式保存在入口文件定义的缓存文件夹内
请打开上次的HelloWorld范例,打开文件夹runtime\conf
在入口文件的讲解中,我们对几个比较重要的概念有一个了解
那就是项目和应用,一般来说一个入口文件定义一个项目,项目下可以有多个应用,LtConfig组件在Lotus初始化后,会先加载项目下的conf配置文件夹,如果是调试模式,则先加conf目录下的standard下的配置文件,再加载dev文件夹下的配置文件并将重复项替换,生产模式则加载standard文件夹下的配置文件,这样的好处是本地和生产环境下可以保留2个配置,上线切换为生产模式即可
在读取了项目配置后,程序会继续加载应用中的配置文件夹,让我们打开\runtime\app\frontend\conf,应用配置文件内容会被调用,如果有同名的配置内容,会替换项目配置文件中的同名内容。
一般来说,项目中的配置文件主要是一些公用的配置文件内容,而应用中的配置文件主要是针对应用私有的配置,多个应用共享的配置文件应该放到项目的配置文件夹中
配置文件书写规范如下
<?php
$config['system.version'] = '1.0';
$config['system.name'] = 'LotusPhp网站管理系统';
必须以数组的形式写入,且数组变量名强制为$config,否则无法读取
现在我们修改下HelloWorld DEMO文件中的\runtime\app\frontend\action\default-index.php
<?php
class defaultindexAction extends LtAction
{
public function execute()
{
$this->responseType = 'tpl';
$this->message=LtObjectUtil::singleton('LtConfig')->get('system.name');
$this->data='Hello World!';
}
}
接着修改视图文件\runtime\app\frontend\view\default-index.php
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>{$this->message}{LtObjectUtil::singleton('LtConfig')->get('system.version')}</title>
</head> <body>
{$this->data}
</body>
</html>
保存好后,运行index.php文件,看看浏览器的标题栏有什么变化
在这个范例中,我们实践了在action里调用配置文件的方法和在view里调用配置文件的写法,再重温下
action中调用配置文件: $this->message=LtObjectUtil::singleton('LtConfig')->get('system.name'); 或者 $this->data=LtObjectUtil::singleton('LtConfig')->get('system.name'); view中调用配置文件: {LtObjectUtil::singleton('LtConfig')->get('system.version')}
至于LtObjectUtil::singleton这个类是做什么的,我们下个章节会有个介绍
LotusPhp中配置文件组件LtConfig详解的更多相关文章
- unity3d中Transform组件变量详解
Transform组件是每个游戏对象必须有的一个组建,因为你创建一个空物体,它也有该组建,因为unity3d是面向组建开发的一款游戏引擎.通过一张图片来看看它的属性 你可以在通过代码查看这些属性的区别 ...
- vSan中见证组件witness详解
witness在vSan中作为见证组件其作用类似于WinServer中的仲裁磁盘,当Cluster中某一节点发生故障时,来判断该节点上的对象在哪一个新的节点上继续承载.此处需要强调的是,witness ...
- Tomcat配置(二):tomcat配置文件server.xml详解和部署简介
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- Tomcat(二):tomcat配置文件server.xml详解和部署简介
Tomcat系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1. 入门示例:虚拟主机提供web服务 该示例通过设置虚拟主机来提供web服务 ...
- vue-cli 中的 webpack 配置详解
本篇文章主要介绍了 vue-cli 2.8.2 中的 webpack 配置详解, 做个学习笔记 版本 vue-cli 2.8.1 (终端通过 vue -V 可查看) vue 2.2.2 webpack ...
- Mybatis系列全解(四):全网最全!Mybatis配置文件XML全貌详解
封面:洛小汐 作者:潘潘 做大事和做小事的难度是一样的.两者都会消耗你的时间和精力,所以如果决心做事,就要做大事,要确保你的梦想值得追求,未来的收获可以配得上你的努力. 前言 上一篇文章 <My ...
- 【转】gitlab CI流水线配置文件.gitlab-ci.yml详解
目录 GitLab CI流水线配置文件.gitlab-ci.yml详解 实验环境 GitLab CI介绍 .gitlab-ci.yml 配置参数 参数详解 script image services ...
- mysql配置文件my.cnf详解
原文地址:mysql配置文件my.cnf详解 作者:gron basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的 ...
- MySQL Cluster 配置文件(config.ini)详解
MySQL Cluster 配置文件(config.ini)详解 ################################################################### ...
随机推荐
- (medium)LeetCode 230.Kth Smallest Element in a BST
Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Not ...
- MongoDB条件查询
1.查询集合中的所有记录 db.users.find() { "_id" : ObjectId("528b1173613e3289197a6486"), &qu ...
- @valid表单验证demo
springMVC 表单验证demo 视图层使用的是jsp
- 合并 hdfs 文件
待研究,只做保存 将HDFS中不同目录下面的数据合在一起,并存放在指定的目录中,示例如: sqoop merge –new-data /test/p1/person –onto /test/p2 ...
- Oracle 11gR2 Database UNDO表空间使用率居高不下-转载
客户的数据库是Oracle Database 11.2.0.3.0 for AIX 6.1 64bit的单机数据库.客户查询DBA_FREE_SPACE发现UNDO表空间的使用率高达98%以上.客户的 ...
- 06-模仿系统的UIImageView
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- 双系统下恢复Ubuntu引导菜单
引言 使用双系统的时候,我们经常重装Windows!那么有没有一种办法:只重装Windows而不重装Ubuntu呢? 在使用Win XP/Ubuntu双系统时,这个问题很好解决!但是在使用Win7(包 ...
- 007 The Inheritance In JAVA
在JAVA中有一个特型叫继承(Inheritance),通过继承我们可以重复使用代码,令代码简洁,易于扩展.例如:有一个sharp的类,这个类实现了sharp的一些方法,现在我们要写一个circle的 ...
- Flex应用一览表
1.Flex控件之repeater和radioButton控件应用 2.Flex之DataGrid和Tree控件的数据源XML格式 3.Flex控件之combobox应用 4.转:Flex的Arra ...
- 静态库制作.a .framework
一.静态库 .a 制作 1.新建一个Cocoa Touch Static Library 2.往里面添加文件,或者自己新建 3.添加一个Headers Phase ...