升级PHP版本之后遇到的问题
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)
调用方式,改动太多太大,请教一下各位,有没有什么好的修改或者调整。感谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
你贴的并不是主要的方法, 我是想知道为什么在低版本可以运行?
你不应该给看一下 自动载入类是怎么实现的?
升级到7.2了吧?
估计以前自动加载用的“__autoload”,这玩意儿在PHP7.2废除了,改spl吧。
悬空异人的方法应该是最简便的,放入口,或者核心代码里面,像packageslibpage,切割之后,include,再new。include要判断文件是否存在,要include哪个文件夹,加上if语句来区分就好了。自动加载写一次就好了,类找不到的时候,自动执行方法!
我猜也是 __autoload 这个函数的问题.
如果你的自动加载是这个函数, 那么
spl_autoload_register('__autoload');
试试.