Symfony2 bootstrap.php.cache文件的用途是什么?

mr1*_*011 16 caching symfony

我在我们的一个遗留项目中使用SF2,而不是整个框架,而是通过引入我需要的捆绑包和组件.我一直想知道这些代码行:

$loader = require_once __DIR__.'/../app/bootstrap.php.cache';

require_once __DIR__.'/../app/AppKernel.php';
//require_once __DIR__.'/../app/AppCache.php';

$kernel = new AppKernel('prod', false);
$kernel->loadClassCache();
Run Code Online (Sandbox Code Playgroud)

我想知道这个bootstrap.php.cache文件的用途是什么,它是什么,如何生成(如果我没有使用SF2整个框架).我之前没有使用它,并且没有问题,但我想知道这是否可以给我一些性能提升等我应该研究一下.我试图找到周围但找不到专门针对这个主题的文件.

Eln*_*mov 15

为确保最佳的灵活性和代码重用,Symfony2应用程序利用各种类和第三方组件.但是,在每个请求中从单独的文件加载所有这些类可能会导致一些开销.为了减少这种开销,Symfony2标准版提供了一个脚本来生成所谓的引导程序文件,该文件由单个文件中的多个类定义组成.通过包含此文件(包含许多核心类的副本),Symfony不再需要包含任何包含这些类的源文件.这将大大减少光盘IO.

来源:使用引导程序文件.


Jua*_*osa 10

Symfony文档中:

为确保最佳的灵活性和代码重用,Symfony2应用程序利用各种类和第三方组件.但是,在每个请求中从单独的文件加载所有这些类可能会导致一些开销.为了减少这种开销,Symfony2标准版提供了一个脚本来生成所谓的引导程序文件,该文件由单个文件中的多个类定义组成.通过包含此文件(包含许多核心类的副本),Symfony不再需要包含任何包含这些类的源文件.这将大大减少光盘IO.

您可以像这样生成引导程序文件:

php vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Resources/bin/build_bootstrap.php
Run Code Online (Sandbox Code Playgroud)