php版本由原来的5.4升级到7之后,整站类的引入都不行了原代码
//原来调用方式
$total = \packages\lib\page::total($id);
报错
Fatal error: uncaught Error: Class '\packages\lib\page' not found in D:\workstation\......page.php:23 Stack trace
解决
//修改成这样就OK了
require_once(../core/packages/lib/page.php);
$total = page::total($id);
问题来了,项目里面有太多的这种\packages\lib\page::total($id)调用方式,改动太多太大,请教一下各位,有没有什么好的修改或者调整。感谢
6 回答

呼唤远方
TA贡献1856条经验 获得超11个赞
<?php
function My_Autoload ($path) {
$class = explode("\\", $path);
$_class = end($class);
$file = "../core/packages/lib/". $class. '.php';
if (file_exists($file)) {
require_once($file);
}
}
spl_autoload_register('My_Autoload');

德玛西亚99
TA贡献1770条经验 获得超3个赞
悬空异人的方法应该是最简便的,放入口,或者核心代码里面,像packageslibpage,切割之后,include,再new。include要判断文件是否存在,要include哪个文件夹,加上if语句来区分就好了。自动加载写一次就好了,类找不到的时候,自动执行方法!

慕码人8056858
TA贡献1803条经验 获得超6个赞
我猜也是 __autoload 这个函数的问题.
如果你的自动加载是这个函数, 那么 spl_autoload_register('__autoload');
试试.
- 6 回答
- 0 关注
- 795 浏览
添加回答
举报
0/150
提交
取消