文件结构:
- Controllers/Foo.php
- Models/Bar.php
- Models/Functions.php
在Foo.php中,使用require_once()可以使用Functions.php中的函数,但无法示例化Bar类?这会产生错误"Undefined type 'App\Controllers\Bar'."
。我不确定我做错了什么。
如果它有帮助的话,这是在一个Codeigniter项目中,因此,为什么酒吧扩展数据库。
Foo.php
require (realpath(dirname(__FILE__)) . '\..\Models\Functions.php');
require (realpath(dirname(__FILE__)) . '\..\Models\Bar.php');
class Foo extends Controller {
public function get_data($input) {
$oBar = new Bar() // this is where the error occurs
}
}
Bar.php
<?php
class Bar extends Database {
public function do_something() {
echo 'something else';
}
}
Functions.php
<?php
function say_hi() {
echo 'hi';
}
1条答案
按热度按时间wecizke31#
也许您正在使用命名空间,因为错误显示为
'App\Controllers\Bar'
。因此,如果Bar不在命名空间中,则使用
new \Bar()
使其工作。也许你必须做
new \Models\Bar()
或new \App\Models\Bar()
,但我不能说真实的的,因为相关的代码在你的例子中丢失。