我有两个班级。我想通过在Bar类中包含Foo来运行这些类。 没有名称空间,它运行良好。
<?php
class Foo
{
public static function test()
{
echo 'test';
}
}
app.php
Foo::test();
Bar Class
class Bar
{
public function run()
{
require('app.php');
}
}
$bar = new Bar();
$bar->run();
当我使用命名空间时,它不起作用。
<?php
namespace example;
class Foo{
public static function test(){
echo 'test';
}
}
app.php
Foo::test();
Bar Class
namespace example;
use example\Foo;
class Bar{
public function run(){
Foo::test(); // its works
require('app.php'); // Fatal error: Uncaught Error: Class 'Foo' not found
}
}
$bar = new \example\Bar();
$bar->run();
当我将命名空间添加到app.php文件时,它可以正常工作。
app.php
use example\Foo;
Foo::test();
有没有办法在不添加命名空间的情况下运行文件?
我用英语翻译。我希望你明白。