php fatal 和php error,从PHP Fatal error: Uncaught Error: Class '' not found in php:说起

使用框架习惯了,好多基础的东西都忘记了,今天遇到这个报错竟然还排查了半天。

1.先说解决方法

文件不存在,检查是否使用了自动加载,可能是composer的autoload配置错误。如果没有使用composer,确认自己是否require_once把文件包含进来。如果已经包含了,检查命名空间和类名大小写是否正确。命名空间前不能有任何输出。

2.命名空间和文件路径都对,为什么还是not found

因为我们还要使用require_once把要使用的类包含进来。

3.使用了use为什么还是not found

use 是逻辑引用,require是物理引用。必须把类包含进来才能使用。

4.2和3都对,为什么还是not found

检查下大小写,单词拼写

5.谈谈自动加载

现在用框架写项目一般很难看到第一行的require_once了,因为php5之后就有了自动加载机制,而框架带的composer文件,都已经帮我们把autoload配置好了,我们无需再关注类的物理位置,直接使用即可。

6 autoload配置文件类后的2个反斜杠不写会怎么样

A non-empty PSR-4 prefix must end with a namespace separator.

另外注意PSR-4和PSR-0的配置里,"Foo\"结尾的命名空间分隔符必须加上并且进行转义,以防出现"Foo"匹配到了"FooBar"这样的意外发生。

7 附一个无关的冷知识

windows 下php.ini的 extension配置两种形式

一种是省略php_前缀和.dll后缀

一种是全称

比如mongo和php_mongo.dll都可以,如果只写php_mongo就会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值