BroPHP是一个免费开源的轻量级PHP框架(学习型),允许你把基于BroPHP框架开发的应用去开源或发布、销售商业产品。BroPHP框架完全采用面向对象的设计思想,并且是基于MVC的三层设计模式,具有部署和应用及为简单、效率高、速度快,扩展性和可维护性都很好等特点,可以稳定地用于商业及门户的开发。BroPHP框架包括单入口文件、MVC模式、目录组织结构、类自动加载、强大基础类、URL处理、输入处理、错误处理、缓存机制、扩展类等功能。是专门为《细说PHP》的读者及LAMP兄弟连全体学员提供的“学习型PHP框架”。当然,任何PHP应用开发爱好者都可以从BroPHP框架的简单和快速的特性中受益。另外,BroPHP框架的应用不仅使WEB开发变得更简单、更快捷,最主要的目的是让PHP学习者,通过使用本框架从而去了解PHP框架、再去研究框架,最后达到开发自己的框架的目的。
BroPHP框架概述
BroPHP是“学习型”的超轻量级框架(文件很小,对CPU和内存消耗极低),目前版本为 BroPHP 1.0。虽然第一版功能不算很多,但具备了一个框架构成最少应该有的全部功能(包括:MVC模式、目录组织结构、类自动加载、基类、URL处理、输入处理、错误处理、扩展类等)。本框架在已有的功能上,不管从组织结构上,还是从代码质量上,以及运行效率上都做到了单服务器最佳的效果。使用BroPHP框架适合开发BBS、电子商城、SNS、CMS、Blog、企业门户等中小型系统。另外,本框架特别适合学习PHP使用,可以让你认识框架、分析框架内幕,从而达到编写自己框架的目的,并通过BroPHP框架改版,直接作为公司内部的开发框架使用。
BroPHP框架的编码结构尽量实现各模块功能独立,并将《细说PHP》中各章节知识点整合在了一起。当你在分析框架源码时,PHP的技术点可以参考本书前面的各个章节,也会将你了解的零散的PHP知识点组织在一起。BroPHP框架部分特点如下。
(1)第一次访问时为用户自动创建了项目所需要的全部目录结构,用户无须再对组织项目的目录结构而烦恼。
(2)本框架采用模块和操作的方式来执行,简单易用,功能适中,更符合中国Web程序员的开发习惯。
(3)通过本框架编写的项目是完全采用PHP面向对象的思想,符合人类的思维模式,具有独立性、通用性、灵活性,有利于对项目的维护和调试。
(4)基于MVC的开发模式,将视图层和业务层分离,达到快速的部署,具有很好的可维护性,以及高重用性和可适用性,特别有利于软件工程化管理。
(5)内建丰富的SQL查询机制,操作灵活,简单易用。
(6)采用了目前业界最著名的PHP模板引擎Smarty,对于熟悉Smarty的程序员而言具有很好的模板开发优势。
(7)使用memcached对SQL和session进行缓存,也可以使用Smarty缓存技术进行页面静态化,提升效率,减少运行消耗。
(8)本框架提供一些常用的扩展类,直接使用即可完成一些常见的功能。例如,文件上传、图像处理、分页实现及验证码类。
(9)本框架支持自定义扩展类库和扩展函数的使用,可以无限地实现功能扩展。
(10)采用人性化的调试模式,可以了解项目的运行过程,也可以快速解决项目开发时遇到的错误和异常。
(11)框架源码简单明了,结构清晰,方便在工作中根据当前项目的需求对框架进行改造。
可以在本书配套光盘中找到BroPHP框架源码,也可以到或 brother.net(LAMP兄弟连)网站中下载BroPHP框架最新版本和最新的帮助文档。
环境要求
操作系统:支持Linux/Windows服务器,可以跨平台应用
WEB服务器:可运行于Apache、IIS和nginx中
PHP环境:PHP5.0以上版本,需要安装XML、mysqli或PDO、GD库、MemCache扩展模块
注意:对于PHP新手,推荐使用集成开发环境AppServ或WAMP对BroPHP进行本地开发和测试。
框架源码的目录结构
下例为BroPHP框架的系统目录,在项目开发时直接将brophp目录及子目录的所有文件复制到项目根目录中即可,并不需要对这个框架源文件做任何修改。但在Linux操作中需要注意,要将这个本框架目录及子目录的权限,设置运行PHP的用户有读的权限。
|-- brophp目录 #BroPHP框架目录
|-- bases 目录 #BroPHP框架基础类存放目录
|-- classes 目录 #BroPHP框架扩展类存放目录
|-- commons 目录 #BroPHP框架通用函数和资源存放目录
|-- libs 目录 #Smarty模板引擎源文件存放目录
|-- brophp.php 文件 #BroPHP框架的公共入口文件 |