Z-PHP_v4


项目结构

<h1>根目录结构</h1> <p>项目根目录   ├─ app   应用目录   ├─ base   项目基础文件目录(放置基类,数据库结构文件等)   ├─ common   项目配置目录(放置配置文件,函数文件等)   ├─ core   框架核心目录   ├─ public   公共目录(入口文件,css,js,img等资源文件)   ├─ tmp   临时文件目录(运行时的模板编译文件,缓存文件等)   └─ libs   暂时没用</p> <h2><font color=red>根目录说明:</font></h2> <p>全部结构写在一起看起来会有点乱,所以拆开来写</p> <ul> <li> <p>core 是框架核心,不关心的可以无视</p> </li> <li> <p>app 是应用目录,与之对应的入口文件,一个应用对应一个入口文件</p> </li> <li> <p>base 是基础文件,例如数据库结构的文件,控制器基类,模型基类等等 应用目录内的base目录文件会覆盖根目录内base目录文件</p> </li> <li> <p>common 放置项目配置文件,函数文件 等 如果全局只需要一套配置文件和函数文件,可以放在此处,各版本目录下无需再有common目录</p> </li> <li> <p>public 放置项目入口文件,用户需要加载的资源文件等 <strong>除了浏览器需要直接访问的文件外,<font color=red>请不要放置其它文件</font></strong></p> </li> <li>tmp 临时文件目录,内容删除后会重新生成</li> </ul> <h1>core目录结构</h1> <p>core  └─ v1.0   版本目录    ├─ ext   框架扩展类目录    │  ├─ ttfs   字体文件目录    │  ├─ db.class.php   db封装类    │  ├─ upload.class.php   文件上传类    │  └─ verimg.class.php   验证码类    ├─ tpl   框架模板目录    │  └─ 404.html   404错误页面模板    │  └─ 500.html   500错误页面模板    ├── z   框架核心目录    │  ├─ cache.class.php   缓存类    │  ├─ pdo.class.php   pdo封装类    │  ├─ view.class.php   视图类    │  └─ z.class.php  [包含初始化,路由,debug]    └──core.php   框架入口文件</p> <h2><font color=red>core目录说明:</font></h2> <p><strong>框架核心的版本目录(v0.1)和项目版号本<font color=red>无关</font> 这里可以放置多个不同版本的框架核心目录:例如v1, v2,v3 等等,这样就可以在入口文件处方便的切换不同的框架版本,当然也可以不要这个目录,只要修改入口文件处的core.php的路径,使之可以正常加载即可</strong></p> <h1>app目录结构</h1> <p><strong>文件带 <font color=red>+</font> 为可选位置</strong></p> <p>app   应用目录  ├─ admin   admin 应用目录  │  ├─ functions.php<font color=red>+</font>   函数文件  │  ├─ config.php<font color=red>+</font>   配置文件  │  ├─ router.php<font color=red>+</font>   路由文件  │  ├─ *.base.php<font color=red>+</font>   数据库结构文件  │  └─ v1.0   版本目录  │    ├─ base   基础文件(放置基类,数据库结构文件等)  │    ├─ common   应用配置目录(放置配置文件,函数文件,路由等)  │    ├─ ctrl   控制器目录  │    ├─ model   模型目录  │    ├─ lib   自定义目录  │    └─ view   模板目录  │      └─ default   默认样式目录  │      │  ├─ index   index 控制器的模板目录  │      │  └─ login   更多控制器的模板目录...  │      └─ xxx   更多自定义样式目录...  └─ index   更多应用目录...</p> <h2><font color=red>app目录说明:</font></h2> <ul> <li> <p>各个版本需要共用的路由,配置,函数等文件,可以放在版本目录之外 否则需要放置在对应版本目录下的common目录</p> </li> <li> <p>admin 是“admin应用”的目录,我们称之为“应用名”,与之对应的是public目录下的“admin.php”入口文件 <strong>这里目录名和入口文件名<font color=red>不一定相同</font>,可在入口文件内指定应用名(也就是目录名) 例如:define('APP_NAME', 'admin1'); 那么目录名就应该是 admin1</strong></p> </li> <li> <p>base 是基础文件,例如数据库结构的文件,控制器基类,模型基类等等</p> </li> <li> <p>common 放置项目配置文件,函数文件等</p> </li> <li> <p>public 放置项目入口文件,用户需要加载的资源文件等</p> </li> <li>tmp 临时文件目录,内容删除后会重新生成</li> </ul> <p><strong>配置文件、路由文件、数据库结构文件等会遵从 <font color=red>内层覆盖外层相同字段数据</font> 的规则 需要注意的是如果某字段的值是<font color=red>数组</font>,那么会<font color=red>覆盖</font>这个数组而不是合并这个数组,但是<font color=red>模块</font>下的配置文件则会合并这个数组内的相同字段数据而不是覆盖</strong></p> <h1>public目录结构</h1> <p>public  ├─ admin.php   admin 应用入口文件  ├─ index.php   index 应用入口文件  ├─ files   自定义附件目录  ├─ uploads   自定义文件上传目录  ├─ tmp   临时文件目录  └─ res   页面资源目录    ├─ admin   admin 应用的资源目录    │  ├─ v1.0   v1.0版本的资源目录    │  │  ├─ js   js文件目录    │  │  ├─ css   css文件目录    │  │  └─ image   img文件目录    │  └─ v2.0   更多版本的资源目录...    └─ xxx   更多应用的资源目录...</p> <h2><font color=red>public目录说明:</font></h2> <ul> <li> <p><strong>此目录除了浏览器需要直接访问的文件外,请<font color=red>不要</font>放置其它文件</strong></p> </li> <li> <p>res 目录下是各个应用的资源目录</p> </li> <li>res/应用 目录下是各个版本的资源目录</li> </ul> <h1>如果需要使用<font color=red>模块</font>功能请看下面</h1> <p><strong>规则很简单:就是把<font color=red>原来版本目录下</font>的所有文件都放到一个<font color=red>新建目录</font>下,这个目录就是模块目录</strong> <strong>然后在配置文件中<font color=red>启用</font>模块功能就可以了</strong></p> <h1>含<font color=red>模块</font>的app目录结构</h1> <p><strong>文件带 <font color=red>+</font> 为可选位置</strong></p> <p>app   应用目录  ├─ admin   admin 应用目录  │  ├─ functions.php<font color=red>+</font>   函数文件  │  ├─ config.php<font color=red>+</font>   配置文件  │  ├─ router.php<font color=red>+</font>   路由文件  │  ├─ *.base.php<font color=red>+</font>   数据库结构文件  │  └─ v1.0   版本目录  │    ├─ functions.php<font color=red>+</font>   函数文件  │    ├─ config.php<font color=red>+</font>   配置文件  │    ├─ router.php<font color=red>+</font>   路由文件  │    ├─ *.base.php<font color=red>+</font>   数据库结构文件  │    <font color=red>├─ user   user模块</font>  │    <font color=red>│</font>  ├─ base   基础文件(放置基类,数据库结构文件等)  │    <font color=red>│</font>  ├─ common   应用配置目录(放置配置文件,函数文件,路由等)  │    <font color=red>│</font>  ├─ ctrl   控制器目录  │    <font color=red>│</font>  ├─ model   模型目录  │    <font color=red>│</font>  ├─ lib   自定义目录  │    <font color=red>│</font>  └─ view   模板目录  │    <font color=red>│</font>    └─ default   默认样式目录  │    <font color=red>│</font>    │  ├─ index   index 控制器的模板目录  │    <font color=red>│</font>    │  └─ login   更多控制器的模板目录...  │    <font color=red>│</font>    └─ xxx   更多自定义样式目录...  │    <font color=red>├─ bill   bill模块</font>  │    <font color=red>└─ xxx   更多模块</font>  └─ index   更多应用目录...</p> <h1>含<font color=red>模块</font>的public目录结构</h1> <p>public  ├─ admin.php   admin 应用入口文件  ├─ index.php   index 应用入口文件  ├─ files   自定义附件目录  ├─ uploads   自定义文件上传目录  ├─ tmp   临时文件目录  └─ res   页面资源目录    ├─ admin   admin 应用的资源目录    │  ├─ v1.0   v1.0版本的资源目录    │  │  <font color=red>├─ user   user模块的资源目录</font>    │  │  <font color=red>│</font>  ├─ js   js文件目录    │  │  <font color=red>│</font>  ├─ css   css文件目录    │  │  <font color=red>│</font>  └─ image   img文件目录    │  │  <font color=red>└─ bill   bill模块的资源目录</font>    │  │  <font color=red>└─ xxx   更多模块的资源目录</font>    │  └─ v2.0   更多版本的资源目录...    └─ xxx   更多应用的资源目录...</p> <p><strong>模块资源目录相对比较灵活,完全可以按照自己的想法布置结构</strong> <strong>例如:</strong> <strong>- 所有模块都使用同一套资源:结构跟不使用模块时的时候一致</strong> <strong>- 单独提取出公共部分到一个文件夹下(类似一个隐藏模块),其余按照模块布置</strong></p>

页面列表

ITEM_HTML