举例(ListInfo.php文件为例):
起头文件我现在改为这个
原版
- require dirname(__DIR__) . DIRECTORY_SEPARATOR . 'class' . DIRECTORY_SEPARATOR . 'connect.php';
- require ECMS_PATH . 'e' . DIRECTORY_SEPARATOR . 'class' . DIRECTORY_SEPARATOR . 'functions.php';
- require ECMS_PATH . 'e' . DIRECTORY_SEPARATOR . 'class' . DIRECTORY_SEPARATOR . 't_functions.php';
- require ECMS_PATH . 'e' . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'dbcache' . DIRECTORY_SEPARATOR . 'class.php';
- require LoadLang('pub' . DIRECTORY_SEPARATOR . 'fun.php');
这两个写法都不影响使用,为什么我还要用第一种的(composer项目基本使用绝对地址)
- require('../class/connect.php');
- require('../class/db_sql.php'); //如果7.5版本,你会发这个文件是空的,可以删除
- require('../class/functions.php');
- require('../class/t_functions.php');
- require('../data/dbcache/class.php');
- require LoadLang('pub/fun.php');
第一种:
1. 使用绝对路径
2. DIRECTORY_SEPARATOR 代码斜杆,在win系统和Linux 这个斜杆是不一样的 '/'或 '' 如果使用DIRECTORY_SEPARATOR自动转换
第二种:
相对路径,帝国有时会这样路径
有时这样 '/e/' . '../class/connect.php';
有时这样 '/e/' . '/class/connect.php';
有时还这样 '/../../' . '../class/connect.php';
这时在 require include 执行效率是不一样的,有时像还会出现加载不了(特指用户自己写的代码,开发环境win,生产环境是linux, 就会有这样问题)
所有开发时麻烦一点,上线时少一点麻烦。