我有一个 php 项目,它使用一些功能元素和一些 OOP 元素,但似乎将两者混合会导致问题。以下是导致错误的文件:
DB.php
<?php
function parse_db_entry($from, &$to){
//Function code here
}
?>
User.php
<?php
require_once 'DB.php';
class User{
//Properties
public function __construct(){
//ctor
}
public static function load_user($email, $password){
$entry = //Make MySQL Request
$user = new User();
parse_db_entry($entry, $user);
return $user;
}
}
?>
一切都按其应有的方式工作,除了调用 parse_db_entry
会抛出:
fatal error :调用未定义的函数parse_db_entry()
我能够访问DB.php中的其他内容,例如,如果我在那里创建了一个类,我可以毫无错误地实例化它,并且如果我将函数移动到 User.php,它也具有功能。那么我做错了什么?为什么我不能调用这个方法?
最佳答案
我已经明白了!感谢所有有想法的人,但问题似乎是其他的。
当调用require_once 'DB.php'
时,php实际上正在获取文件:
C:\xampp\php\pear\DB.php
而不是我的。
这可能是 XAMPP 独有的问题,但将我的文件简单重命名为 DBUtil.php
就解决了所有问题。
关于php - 无法从 php 类调用全局函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18777361/