我需要在我的 symfony 应用程序中加载一个外部 AppKernel 文件。这个外部 AppKernel 负责处理请求。问题是,它不能自动加载外部应用程序使用的类/包。有没有办法在另一个应用程序中使用外部 symfony 2 应用程序?
这是我到目前为止所尝试的:
require_once '/path/to/external/AppKernel.php';
$class = 'Namespace\AppKernel';
$path = realpath(dirname('/path/to/external/AppKernel.php'));
// I tried this, but this does not work...
$loader = require_once $path . '/autoload.php';
/**
* @var HttpKernel $kernel
*/
$kernel = new $class('dev', true);
$response = $kernel->handle($request);
史蒂芬
编辑
我也尝试了以下方法,内核已正确加载,但每次valid
请求都会收到 404。我想我有点接近,有人有什么建议吗?
// Get Class Loader
$loader = \ComposerAutoloaderInitea05f7b71e624f9c387fc10b8508d099::getLoader();
// Add src folder to fallback dirs
$loader->add(null, array(realpath($path . '/../src')));
/**
* @var Kernel $kernel
*/
$kernel = new $class('prod', true);
$kernel->loadClassCache();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
return $response;