读书频道 > 网站 > 网页设计 > Android和PHP开发最佳实践(第2版)
3.6.2 框架的基础目录结构
15-09-06    下载编辑
收藏    我要投稿   
本书是国内第一本同时讲述Android客户端和PHP服务端开发的经典著作。本书以一个完整的微博应用项目实例为主线,由浅入深地讲解了Android客户端开发和PHP服务端开发的思路和技巧。从前期的产品设计、架构设计,到立即去当当网订购
想要熟悉一个框架,最好的方式莫过于从它的代码目录结构入手,下面我们先来讲解一下Hush Framework的基础目录结构,让大家对这个框架有一个整体性的认识。下面便是对这个框架主要目录的一个对照,我建议大家使用svn工具到Hush Framework的官方网站(http://code.google.com/p/hush-framework/)上把代码下载到本地来进行比对阅读,这样才会达到比较好的学习效果。
 
目录说明 3-1
 
hush-framework
|
|- hush-app 实例应用程序目录
|  |- bin 可执行文件目录
|  |- dat 临时存储文件
|  |- doc 主要文档目录
|  |- etc 配置文件目录
|  |- lib 主要逻辑目录
|  |  |- Ihush
|  |     |- Acl ACL 权限逻辑类库
|  |     |- App
|  |     |  |- Backend
|  |     |  |  |- Page 后台 Controller 逻辑
|  |     |  |  |- Remote 后台 Service 逻辑
|  |     |  |- Frontend
|  |     |     |- Page 前台 Controller 逻辑
|  |     |- Bpm Bpm 逻辑类库
|  |     |- Dao
|  |        |- Apps Apps 库的 Module/Dao 类库
|  |        |- Core Core 库的 Module/Dao 类库
|  |- tpl
|  |  |- backend 后台模板文件
|  |  |- frontend 前台模板文件
|  |- web
|     |- backend 后台 DocumentRoot(站点目录)
|     |- frontend 前台 DocumentRoot(站点目录)
|
|- hush-lib
|  |- Hush
|     |- Acl Acl 权限类库
|     |- App App Url Dispatcher
|     |- Auth
|     |- Bpm Bpm 类库
|     |- Cache Cache 类库
|     |- Chart 图像类库
|     |- Crypt 加密类(Rsa)
|     |- Date
|     |- Db 数据库层(Module)类库
|     |- Debug 调试类库
|     |- Document 文档类库
|     |- Examples 一些例子(主要针对 Cli 程序)
|     |- Html Html 构建类库
|     |- Http 远程访问类库
|     |- Json
|     |- Mail 邮件收发类库
|     |- Message 消息类库
|     |- Mongo Mongodb 类库
|     |- Page 页面层(Controller)类库
|     |- Process 多进程类库
|     |- Service 服务层(Service)类库
|     |- Session
|     |- Socket Socket 类库
|     |- Util 工具类库
|     |- View 展示层(View)类库
|
|- hush-pms PHP Message Server

 

从上述目录结构说明中,我们可以看到Hush Framework的文件目录中,主要包含以下两大目录。
 
1. hush-app目录
 
该目录下的代码是Hush Framework给我们提供的框架实例程序,是一个比较完整的互联网应用实例,包括应用前端和管理后台两大部分,我们既可以把该实例当做一个代码示例库来学习和使用,也可以把它当做一个项目的基础架构进行二次开发;另外,之前也说过了,本书实例的服务端程序就是在本框架的基础之上开发的,因此从某种意义上来说和这里的实例程序是非常相似的,所以这里应该算是本书的重点之一了,接下来我们马上会对该实例中的一些主要用法和代码进行讲解。
 
特别注意一下hush-app下面的etc、lib、tpl和web四个目录,因为这四个目录分别是实例应用程序的配置目录、代码目录、模板目录和站点目录,下面我们来给大家详细介绍一下。
 
(1)配置目录(etc)
 
配置目录(etc)下面放置的都是应用的配置文件,其中比较重要的包括:全局配置文件(global.config.php)主要用于设置应用的总体配置,比如路径变量、类库位置等;数据库配置文件(database.mysql.php)用于设置数据库的服务器分布和分库分表策略等;前后台配置文件(frontend.config.php和backend.config.php)分别用于配置前后台的特殊参数。
 
(2)代码目录(lib)
 
本目录是主要的公用类库和逻辑代码目录,现将其中比较重要模块的代码分目录列举如下:权限控制模块(Acl目录)主要用于前后台的RBAC权限控制;控制器模块(App目录)用于各个页面的逻辑控制,也就是MVC中的Controller部分;工作流模块(Bpm目录)用于实例后台中工作流部分的逻辑控制;可执行程序模块(Cli目录)下面都是项目可执行程序的逻辑代码,另外我们需要知道的是hush-app/bin目录下面就是可执行程序的入口;数据操作模块(Dao目录)大家应该都非常熟悉了,这里保存的是和数据库操作相关的所有逻辑,也就是MVC中的Model部分。
 
(3)模板目录(tpl)
 
此目录下还分为前台模板目录(frontend目录)和后台模板目录(backend目录),分别用于存储应用实例前后台的Smarty模板,这也就是MVC中的View部分了,这里的模板和前面所提到过的“控制器模块”中的各个不同控制器的动作逻辑(Action)相对应。
 
(4)站点目录(web)
 
这里面放的都是一些静态文件或者独立的PHP代码等,此目录也分为前台站点目录(frontend目录)和后台站点目录(backend目录),另外这两个目录也是HTTP服务器的站点配置(DocumentRoot)所需要指定到的目录。
 
2. hush-lib目录
 
此目录保存的是Hush Framework的源代码,我们可以看到这里的代码目录和Zend Framework的结构非常一致,也就是把每个独立的模块代码都放在各自的目录下并尽量互不关联,这也比较符合“松耦合”的设计原则,既便于理解又便于阅读,是一个比较值得提倡的代码封装方法。
 
至此,已经给大家介绍了Hush Framework框架和应用(hush-app)中的重要代码目录,这是学习如何使用Hush Framework进行开发的重要一步,希望大家能好好消化一下以上内容。至于框架类库(hush-lib)源码中的模块和目录介绍,由于篇幅原因这里就暂时不做介绍了,有兴趣的读者可以访问Hush Framework在Google Code的官方站点,查找更多信息。
点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站