在很久很久以前,我遇到个问题:PHP多重路径个包含的问题.目录结构如下:
|----- index.php // 主程序,require('libs/page.class.php')
|----- labs/
|----------- database.class.php // 数据库操作类
|----------- page.class.php // 分页类,require('database.class.php'),require('../config/sys.php')
|----- config/
|----------- sys.php // 配置文件,require('../config.php')
|----------- config.php
多重文件夹交叉多重包含,这样运行是会出错的.
就这个问题,很久很久以后,还是没人回答我.
可是再很久很久以后,我终于找到了方法:
1.在根目录下新建文件 path.php
2.path.php 存放常量,常量代表所有常用路径,如:
define('ROOT_PATH',dirname(__FILE__));
define('LIBS_PATH',ROOT_PATH.'/libs/');
define('CONFIG_PATH',ROOT_PATH.'/config/');
define('CLASS_PATH',ROOT_PATH.'/class/');
3.需要使用到包含文件的,只需要包含 path.php,再包含这些常量路径就可以了.
4.为了测试,我做了3重复杂的交叉多层包含(乱的自己都看不懂),但是事实证明:没错,就是这样.
5.也解决了移植性问题,因为以前使用过获取根目录,如果系统不是根目录呢?
6.我使用的是Windows,不知道此方法在L下是否行得通.
小弟今天拿出来请大家参考下,不知道大家有没什么更好的解决方法.
另外,小弟刚学Smarty,不知道大家是如何分配Smarty的目录结构的.
举例说明:
我要做个网站,后前台,有后台.
以前我做网站目录如下:
wwwroot/
------------ index.php
------------ 1.php
...
------------ n+1.php
------------ admin/
------------- index.php
也就是说,主要分两层:
根目录下的文件基本都是网站前台的文件.
admin目录下的文件都是网站后台的文件.
现在我网站的前后台都想使用Smart做,那么 Smarty的libs文件夹,templates,templatesc_c,cache,config 等这些文件夹,是否都要新建两个?根目录下一个,admin目录下一个?
不知道大家在做的时候,目录结构如何.请指教


最新回复
至于目录结构,自己看得懂就行了,没必要追求什么
继续学习,简化..