作曲家不自动加载文件局外人供应商



使用Composer的自动加载器以下实例应用程序触发自动加载器

$app = new Application();

当应用程序作为参数的实例化不会触发自动加载器加载该类。要注意以下代码加载服务器类,但没有加载应用程序类。

$server = new Server(new Application(dirname(__DIR__) . '/config'));

应用程序类位于供应商之外,这就是我在composer.json

中指定它的方式。
{
  "autoload": {
    "psr-4": {
      "App\": "src"
    }
  }
}

我使用的名称空间如下

use AppApplication;
use StinHttpServer;

尝试以这种方式:

$app = new Application(dirname(__DIR__) . '/config');
$server = new Server($app);

我无法真正解释为什么嵌套的新对象不起作用,它似乎是与内存有关的,或者可能是PHP的限制。

,但我可以告诉你这不是关于自动加载的,这是证明

class a {
}

class b {
 public function __construct($yo)
 {
     echo $yo;
 }
}
new a(new b('hello')); //does not work
$b = new b('yo');
new a($b);//work

相关内容

  • 没有找到相关文章

最新更新