1. 云栖社区>
  2. PHP教程>
  3. 正文

LotusPhp推荐的程序目录

作者:用户 来源:互联网 时间:2017-12-01 13:29:51

服务器程序好的项目

LotusPhp推荐的程序目录 - 摘要: 本文讲的是LotusPhp推荐的程序目录, 一个好的项目都会固定格式的目录,Lotusphp相对会灵活一些,可以合理安排自己的程序运行目录,这里我推荐2种目录的设置结构 第一种是Lotusphp推荐的目录结构,首先要确保服务器开启了父目录引用的功能,或者通过rewrite引导到 w

一个好的项目都会固定格式的目录,Lotusphp相对会灵活一些,可以合理安排自己的程序运行目录,这里我推荐2种目录的设置结构

第一种是Lotusphp推荐的目录结构,首先要确保服务器开启了父目录引用的功能,或者通过rewrite引导到 wwwroot/frontend 里(但是不建议这样,因为可能存在多个应用,除非你就一个应用,默认引导到index.php)

├─framework├─app│  └─frontend                      应用名称│      ├─action│      ├─conf│      ├─lib│      └─view│          └─layout├─conf│  ├─dev│  └─standard├─lib│  ├─Dao│  ├─Util│  └─Service└─wwwroot    └─frontend

wwwroot大家一看就明白,就是web根目录,所有的程序运行文件,包括框架、程序、类库、插件、配置文件等都在wwwroot的父目录中,即使被黑,也只被黑了服务器,单纯从web服务器上浏览,是无法看到任何程序文件和类库的,wwwroot目录中只能访问到图片,脚本等资源。这样的配置安全系数相对会比较高。最上面的app文件夹就是应用程序文件夹,下面可以新建多个应用,一般像我们经常是前台一个应用,后台一个应用,2个应用足够了,对于复杂的逻辑,可以根据需要定义应用的数量,wwwroot中对应的文件夹和app对应的文件夹名称应该一致,app中存放的后台程序文件,而wwwroot中存放的应该是前台脚本,图片,样式等文件。应用目录下还有几个文件夹,对应的功能分布是action对应的是应用程序文件,负责解析后台逻辑部分,conf而已定义该应用的配置文件,lib是定义插件,各种该应用使用的公用类库,Dao数据表类,view里面存放视图,也可以理解为我们常说的模板,其中的子文件夹layout是存放布局视图文件的

conf目录存放的是配置文件,其中下面的dev目录是开发模式中应用的配置文件,而standard则是生产模式存放的配置文件,举个简单的例子,本地和服务器上的数据库配置不一样,就可以存为不一样的配置,在本地启用开发模式,传到服务器启用生产模式,可以从容应对不同运行环境。

lib目录里存放的是一些基础类库,框架外的插件也可以存放在这里,lotus被声明后,会自动加载这个文件夹,里面所有的类库和函数会被自动加载,Dao存放的是数据表声明的类,Util存放的是常用的函数和类库,Service存放的是程序的一些复杂逻辑的类库,比如我们经常后台登陆,要判断用户的合法性,就可以写成一个类库,action里调用该类库的一个check方法,就可以判断出用户是否合法。

请注意,lotusphp运行目录中,除了conf,view文件夹下的文件外其余文件必须以类或者函数的形式存在。

还有一种目录结构是针对无法开启父目录引用的,一般虚拟主机里应用会比较多 

wwwroot├─cache├─framework├─runtime│  ├─app│  │  └─frontend│  │      ├─action│  │      ├─conf│  │      ├─lib│  │      └─view│  │          └─layout│  ├─conf│  │  ├─dev│  │  └─standard│  └─lib└─static

cache是缓存目录,结构很多人要问为什么上面的第一种结构没有设置这个文件夹,因为上面的结构是适合自己的服务器的,所以缓存可以设置到自己设定的文件夹中,甚至设置到内存中,但是虚拟主机是不可能给你这个权限的,要设置只能设置在自己的目录里,所以加了这么一个目录,runtime是程序运行文件目录,static是存放样式表,脚本,图片文件的。其他目录的功能和上面是一样的。

这两个推荐的目录方式基本适合大多数人的需求。

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索服务器 , 程序 好的项目 ,以便于您获取更多的相关知识。

稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一

6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

开发者常用软件,超百款实用软件一站式提供