任意目录运行
- 任意子目录运行
- 配置文件:/root/cfgs/boot/_paths.php
- 查看代码;
- 注意:敏感文件不能查看代码,这里查看的代码为度应的样例文件;
- 配置常量:define('PATH_PROJ', '/peace/myprojects');
- 这样配置任意子目录,注意前面以/开头,后面不要/;
- 如果配置在根目录,则设置是空字符串,而不是
/
。
多项目思考
- 维护思路:
- 假入我们有多个网站项目(且版本相同),先看看 默认的 文件结构;
- 几个网站 的
imcat
/ ximps
目录下内容都是一样的,那维护起来,也是N倍的工作量!
imcat
/ ximps
目录能否几个站共用呢?!
- 能共用!这一节就说说,多个项目怎么公用一些目录;或DIY目录结构。
- 配置:
- 上述文件:
\_paths.php
文件;
- 专门用于配置项目根目录下的几乎所有目录;
- 先看看原始的配置:
// 项目(project): 访问相对根路径:注意:在根目录设置是空字符串,而不是/,非根目录前面以/开头,后面不要/
define('PATH_PROJ', '/peace/myprojects');
define('PATH_BASE', PATH_PROJ.'/index.php'); // /index.php, /, /base.php,
//dirs&path : DIR_*实体路径; PATH_*访问路径
define('DIR_ROOT', DIR_PROJ.'/root'); define('PATH_ROOT', PATH_PROJ.'/root');
define('DIR_IMCAT', DIR_PROJ.'/imcat'); define('PATH_IMCAT', PATH_PROJ.'/imcat');
define('DIR_VIEWS', DIR_PROJ.'/views'); define('PATH_VIEWS', PATH_PROJ.'/views');
define('DIR_VARS', DIR_PROJ.DS.'xvars'); define('PATH_VARS', PATH_PROJ.'/xvars');
define('DIR_CTPL', DIR_VARS.'/ctpl'); define('PATH_CTPL', PATH_VARS.'/ctpl');
define('DIR_DTMP', DIR_VARS.'/dtmp'); define('PATH_DTMP', PATH_VARS.'/dtmp');
define('DIR_HTML', DIR_PROJ.'/html'); define('PATH_HTML', PATH_PROJ.'/html');
define('DIR_URES', DIR_PROJ.'/ures'); define('PATH_URES', PATH_PROJ.'/ures');
define('DIR_IMPS', DIR_PROJ.DS.'ximps'); define('PATH_IMPS', PATH_PROJ.'/ximps');
define('DIR_VENDOR', DIR_IMPS.'/vendor'); define('PATH_VENDOR', PATH_IMPS.'/vendor');
define('DIR_VENDUI', DIR_IMPS.'/vendui'); define('PATH_VENDUI', PATH_IMPS.'/vendui');
define('DIR_STATIC', DIR_IMPS.'/static'); define('PATH_STATIC', PATH_IMPS.'/static');
- 部署思路
- 所以,如果是多个项目公用
imcat
/ ximps
目录;
只需配置: DIR_IMCAT, PATH_IMCAT, DIR_IMPS, PATH_IMPS 常量即可。
- 如果多个项目,都放在站点根目录下:
则公用 imcat
/ ximps
目录单独拿出来(也可放在某一站点):
DIR_IMCAT, DIR_IMPS 设置指向对应实体目录;
PATH_IMPS 可设置虚拟目录,PATH_IMCAT 不用另外设置(没有用上);
- 如果多个项目,都放在同一站点不同子目录下:
则吧公用 imcat
/ ximps
目录 也放在单独的子目录下,然后设置如上参数指向这个子目录;
极致瘦身
/root-projects
/blog/ 博客
/blog_xvars/ 博客缓存(可放进/blog目录下,也可这样放出来)
/house/ 房产
/corp1_com/ 企业站1
/corp2_com/ 企业站2
/share_imcat/ 共用核心类库
/share_ximps/ 共用第三方类库
define('DIR_IMCAT', dirname(DIR_PROJ).DS.'share_imcat');
define('PATH_IMCAT', dirname(PATH_PROJ).'/share_imcat');
define('DIR_VARS', dirname(DIR_PROJ).DS.'share_ximps');
define('PATH_VARS', dirname(PATH_PROJ).'/share_ximps');
// PATH_IMCAT : 其实是用不到
// PATH_* 还可以专门配置一个子域名如:define('PATH_VARS', 'http://img0.*.com/cache/share_ximps');
实际应用
- 贴心猫本地开发
- 本地开发,即是共用
imcat
/ ximps
目录;
- 线上演示站
- 博客,房产,企业网:部署在同一服务器;
- v5.0,将设置共用
imcat
/ ximps
目录;