PHP требует пространства имен класса файла не работает - PullRequest
0 голосов
/ 29 апреля 2018

у меня два класса. Я хочу запустить эти классы, включив Foo в класс Bar. Хорошо работает без пространства имен.

<?php

class Foo
{

    public static function test()
    {
        echo 'test';
    }
}

app.php

Foo::test();

Бар класса

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();

Бар класса

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();

Есть ли способ запустить файл без добавления пространства имен?

Я писал по-английски, переводя. Я надеюсь, вы понимаете.

...