PHP 自动加载 - 找到文件 - 类 fatal error

标签 php class oop namespaces autoload

我有一个加载功能可以检查用户登录状态。这是一小段代码......

//
// user is logged in, get user info
$user = Model\User::getByKey($_COOKIE['ukey']);
if($user->field('id') >= 1 || !isset($status)) {
    //
    // establish google connection
    Classes\Google\Google::construct($user->field('id'), $user->field('ga_account'));

...

我有一个 __autoload 函数,它可以完美地找到文件的路径。但是,我收到一个 fatal error ,因为找不到“\Classes\Google\Google”类。

new Google() ... 位于/classes/google/google.class.php。文件在那里,自动加载函数具有正确的文件路径,但为什么找不到类?

我在这个特定的 Google() 类文件上没有任何命名空间。这都是自定义构建的,而不是第三方框架。

最佳答案

1- 使用 class_exists 来确保加载了类。
2- 如果类没有加载,在 google.class.php 中创建一个 die ,这样你就会知道文件是否加载了。
3- 如果类已加载,则在此处创建一个新对象。测试它,以便您可以找到类定义是否正确。

关于PHP 自动加载 - 找到文件 - 类 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19294824/

相关文章:

python - 从字符串中获取类对象

swift - 试图了解构造函数和不同参数类型如何在 Swift 的类内部工作

Delphi - 对象树中的继承链

javascript - 按类别查找最接近的跨度到 tr 中

php - 如何正确输出此表?

python - 将函数应用于类的所有实例

oop - 单例类 : static properties or non-static properties?

perl - 在 Perl 中创建一个类

javascript - Ajax 联系表单中的文件上传不起作用

php - 如何在wordpress插件开发中获得激活的插件列表?