我正在尝试关注这篇文章:
也在看 HttpKernel https://github.com/symfony/HttpKernel
我很困惑。在我看来,Kernel 确实比这里的 HttpKernel 类要多得多,甚至标准的 Symfonyapp.php
也有
$kernel = new AppKernel('prod', false);
$kernel->loadClassCache();
//$kernel = new AppCache($kernel);
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
无论如何,内核将依次调用HttpKernel->handle()
内部;$kernel->handle($request)
另外,它似乎也在负责加载捆绑包?
但是,当内核通过它boot()
内部创建服务容器时handle()
,也会编译容器,因此无法添加更多参数和服务。
所以我想我的问题是:
- 在教程中框架类扩展 HttpKernel 而不是 Kernel 是否有任何具体原因?
- 我也应该效仿吗?或者我应该使用内核作为我的核心。如果是这样,我该如何解决这个
compile()
问题?我确实有必须添加的参数和服务,我该如何处理?