包含PHP类时未找到该类
我有一个在PHP中找不到的类的问题 我做的第一件事是“require_once”一个文件,它“require_once”是所有其他文件。加载时,未显示任何问题。但是当我开始调用我的函数Users::verificate;我得到以下错误:包含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 为了进行测试,我添加了一个简单的类,其中包
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函数只需一行。也许会有帮助。