【发布时间】:2017-03-14 20:02:47
【问题描述】:
我有一个名为 Login.php 的文件,它给了我以下错误:
Fatal error: Class 'Login' not found
文件结构如下:
require_once('includes/Config.php');
require_once('includes/Initialize.php');
require_once('includes/Database.php');
require_once('includes/Cookie.php');
$database = new Database();
$login = new Login($database);
?>
<!-- Start of HTML SECTION COMES HERE -->
<form action="Login.php" method="POST">
<input type="text" name="Username" />
<input type="text" name="Password" />
<input type="submit" value="Submit" />
</form>
<!-- End of HTML SECTION COMES HERE -->
<?php
require_once('includes/Config.php');
class Login extends Config{
function __construct(){
//Construct function handles the forms
}
现在,众所周知,当您在编程语言中使用类、函数、变量或任何其他名称引用时,您必须首先声明它。 问题是,代码原样,没有扩展:
class Login{
function __construct(){
//Construct function handles the forms
}
完美运行。
刚刚添加了扩展,如上所述,问题就出现了。 我有几个其他类使用相同的方法,并扩展了 Config 类,没有返回任何错误。
有什么不同的想法吗?
顺便问一下,你认为这种结构更受欢迎吗?
如果在许多线程中以及在 stackoverflow 上都提到了这个问题,但正如我到目前为止所看到的那样,有人说这是某种错误,但没有出现真正的解决方案,而且在更早的版本中也有人说过哦 PHP。
【问题讨论】:
-
只添加
extends Config或require行之后?无论哪种方式,请同时提供Config代码。 -
您正在调用
$login = new Login($database);和之后,您有class Login...- 这不是让您觉得......有问题吗? -
正如我所提到的,代码一直工作到现在,在调用之后使用类 Login。只是添加了“extends Config”后,问题出现了。
-
includes/Config.php 有两个包含。这不是必需的。但是请给我们看这个文件。我的猜测是,它无法创建类 Login,因为它扩展的类 Config 存在问题。顺便一提。从 Config 继承 Login 似乎很奇怪。
标签: php class extends classnotfound