Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
包含PHP类时未找到该类_Php_Class_Static Members - Fatal编程技术网

包含PHP类时未找到该类

包含PHP类时未找到该类,php,class,static-members,Php,Class,Static Members,我有一个在PHP中找不到的类的问题 我做的第一件事是“require_once”一个文件,它“require_once”是所有其他文件。加载时,未显示任何问题。但是当我开始调用我的函数Users::verificate;我得到以下错误: Fatal error: Class 'Users' not found in /Applications/XAMPP/xamppfiles/htdocs/sparks/dashboard.php on line 4 为了进行测试,我添加了一个简单的类,其中包

我有一个在PHP中找不到的类的问题

我做的第一件事是“require_once”一个文件,它“require_once”是所有其他文件。加载时,未显示任何问题。但是当我开始调用我的函数Users::verificate;我得到以下错误:

Fatal error: Class 'Users' not found in /Applications/XAMPP/xamppfiles/htdocs/sparks/dashboard.php on line 4
为了进行测试,我添加了一个简单的类,其中包含一个函数,该函数只使用echo方法输出字符串。这是可行的,所以问题就在于这个类。我这样调用的MySql函数就可以正常工作了

$mySql = new MySql();
$mySql->executeQuery('...');
这个简单的类有一个静态函数,我这样调用它,哦,它可以工作:

simple::launch();
在Users类中,我从静态函数调用MySql类中的非静态函数。这就是问题所在吗

就像这里的另一个问题一样,问题不在于使用短的php开始标记而不是传统的php开始标记

哪怕是一个小小的暗示都可能对我有所帮助。谢谢你的时间

编辑: 我已经从User类中添加了一些相关代码。这基本上就是它看起来的样子:

<?php
class Users {
    public static function authenticate($email, $password) {
        $mySql = new MySql();

        $mySqlResult = $mySql->executeQuery("selectUser", [$email]);

        ...
    }

    public static function isAdmin() {
        if ($_SESSION['isAdmin']) {
            return true;
        }
        return false;
    }
    ...
}
编辑2: 我试图展示流程: 以下是dashboard.php中的第一行代码:

<?php
    require_once('code/init.php');
    simple::launch();
    if (!Users::verify()) {
        header("Location: index.php");
    }
?>
简单:启动;是我用来测试的代码。这执行得很好。从这个角度看,init.php文件如下所示:

<?php
session_start();

require_once('simple.php');
require_once('MySql.php');
require_once('Users.php');
require_once('Projects.php');
文件名是正确的,因为当这些文件名错误时,我会看到一个明显的错误


根目录中存在dashboard.php。其中有一个名为“code”的文件夹,其中包含所有这些文件。

@MbRostami在评论中建议使用“获取所需文件”功能查看包含哪些文件。结果是加载了错误的文件

Root
| dashboard.php
| users.php
|- code
 | Users.php
 | init.php
在init.php文件Users.php文件中,这两个文件都位于代码文件夹中,这是必需的。但是由于某些原因,加载了根目录下的users.php文件。我有一些奇怪的行为。嗯,这是圣诞节期间需要调查的事情


问题解决了!谢谢

你能发布这个用户类的相关代码吗?当然,这只是一个恼怒的词,但是“verificate”不是一个词。您正在寻找“验证”。@Stoic:代码添加:@KevinM1:只是一个小小的“美丽”问题。。。但是谢谢你的提示:我会编辑它c:在你从Users类创建对象之前,使用get_required_files函数只需一行。也许会有帮助。