当包含或需要外部文件时,无法使用后期静态绑定在PHP中扩展类
下面是源类:当包含或需要外部文件时,无法使用后期静态绑定在PHP中扩展类,php,database,web,Php,Database,Web,下面是源类: require_once('database.php'); class DatabaseObject { public static function find_all() { $sql = "SELECT * FROM " .static::$dbName; $result = mysql_query($sql); while ($row = mysql_fetch_array($result, MYSQL_AS
require_once('database.php');
class DatabaseObject {
public static function find_all()
{
$sql = "SELECT * FROM " .static::$dbName;
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "<div class = user>";
echo "Name: {$row['first_name']} {$row['last_name']} <br/>";
echo "E-Mail: {$row['email']} <br/>";
echo "Username: {$row['username']} <br/>";
echo "Password: {$row['password']}";
echo "</div> <hr/>";
}
}
}
尝试运行user.php后,我得到以下输出:
> "; echo "E-Mail: {$row['email']}
"; echo "Username: {$row['username']}
"; echo "Password: {$row['password']}"; echo "
"; } } } ?>
Fatal error: Class 'DatabaseObject' not found in C:\wamp\www\library\includes\user.php on line 5
有人知道发生了什么吗????如果DatabaseObject类与用户类thouth位于同一个文件中,则一切正常。。。不确定include是怎么回事。我很难为情地说,我丢失了DatabaseObject.php文件顶部的?php标记。对不起,浪费了大家的时间(错误信息非常清楚。是什么让您认为应该找到类“DatabaseObject”?旁注:对于LSB,在
DatabaseObject
中引用$dbName
时,请使用静态而不是self
,您不应该再使用mysql_*函数,它们已被弃用,它们不适合使用MySQL 5,它们迟早会从语言中删除。请改用mysqli或PDO。我确实尝试过使用static::而不是self::得到相同的错误。Oswald:带有用户类的文件确实有一个require(“databaseobject.php”)…如果我把类放在同一个文件中,一切都会正常工作。include有问题,这就是我想弄清楚的。
> "; echo "E-Mail: {$row['email']}
"; echo "Username: {$row['username']}
"; echo "Password: {$row['password']}"; echo "
"; } } } ?>
Fatal error: Class 'DatabaseObject' not found in C:\wamp\www\library\includes\user.php on line 5