php要求文件类命名空间不起作用

时间:2018-04-29 19:17:52

标签: php namespaces include require

我有两个班级。我想通过在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();

有没有办法在不添加命名空间的情况下运行文件?

我用英语翻译。我希望你明白。

0 个答案:

没有答案