技术开发 频道

PHP应用程序架构浅谈

  12. 安装位置

  有时候你需要知道程序的根目录在哪里,但是$_SERVER['DOCUMENT_ROOT']只是web服务器的根目录,如果你的程序安装在它的某个子目录之中,PHP没法自动知道。

  你可以定义一个全局变量$ROOT,它的值就是程序的根目录,然后把它包含在每一个脚本文件中。那么,你要包含某个文件,就这样写require_once("$ROOT/lib/base.inc.php");。

  13. 目录结构

  首先,每个类都应该有自己的独立文件,还必须有一套文件名的命名规则(naming convention)。

  软件的目录结构可以采用如下形式:

/ 根目录。浏览器从这个页面开始访问。

/lib/ 包含全局变量(base.inc.php)和配置文件(config.inc.php)。

/lib/common/ 包含其他项目也可以共用的库,比如数据库抽象层。

/lib/model/ 包含值对象类。

/lib/dao/ 包含数据访问对象(DAO)类,以及DAO工厂函数。

/lib/logic/ 包含业务逻辑类。

/parts/ 包含HTML模板文件。

/control/ 包含页逻辑。对于大型程序来说,这个目录下面可能还有子目录(比如admin//pub/)。

  base.inc.php文件中,应该按照以下顺序添加包含文件:

* /lib/common之中经常使用的类(比如数据库层)。

* 配置文件;

* /lib/model之中所有类;

* /lib/dao的之中所有类。

  至于那些存放图片、上传文件的目录,这里就省略了。

0
相关文章