集装箱构建工作流

编辑该页面

警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.7,不再维护。

这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。

集装箱构建工作流

相关文件和类的位置取决于应用程序依赖项注入组件,库或框架,您想要使用容器。研究容器是如何配置和建在Symfony完整框架会帮助你看到所有这些适合在一起,不管你是使用完整的框架或使用另一个应用程序欧宝娱乐app下载地址中的服务容器。

完整的框架使用HttpKernel组件管理的服务容器配置应用程序的加载和包也处理编译和缓存。即使你不使用HttpKernel,应该给你一个想法的组织模块化应用程序中配置的一种方式。

使用缓存的容器

在建设之前,内核检查容器存在的缓存版本。HttpKernel调试设置,如果这是假的,如果它存在使用缓存的版本。如果是真的,那么内核调试检查配置是否新鲜如果是,缓存的版本使用的容器。如果不是那么容器是由应用程序级配置和包的扩展配置。

倾销的配置性能为更多的细节。

应用程序配置

应用程序级别配置的加载应用程序/配置目录中。合并多个文件加载,然后当扩展处理。这允许为不同的环境不同的配置如dev、刺激。

这些文件包含参数和服务直接加载到容器按设置容器的配置文件。他们还包含配置,根据处理扩展管理配置和扩展。这些被认为是包配置因为每个包包含一个扩展类。

包层次上配置和扩展

按照惯例,每个包包含一个扩展包的类DependencyInjection目录中。这些都是注册的ContainerBuilder当内核启动。当ContainerBuilder编译相关的应用程序配置包的扩展传递给扩展也通常加载自己的配置文件(s),通常从包的资源/配置目录中。应用程序级的配置通常是处理一个配置对象也存储在包的DependencyInjection目录中。

编译器将允许捆绑包之间的交互

编译器允许使用不同的包,因为他们不能互相影响相互作用的配置的扩展类。的一个主要用途是处理标记服务,允许包注册服务被其他包,如独白伐木工,树枝扩展和数据收集器为网络分析器。编译器通常是放在包的DependencyInjection /编译器目录中。

编译和缓存

编译过程加载后的服务配置、扩展和编译器,它是倾销,以便下次可以使用缓存。倾销版本然后在后续请求使用更有效率。

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。