drufony / kernel-module
Drupal站点内的Symfony Kernel
dev-master / 7.0.x-dev
2015-08-07 23:41 UTC
This package is auto-updated.
Last update: 2024-09-12 03:23:28 UTC
README
将Symfony Kernel嵌入到您的Drupal应用程序中。当网站访客请求一个Symfony路由时,Kernel在Drupal页面回调中处理请求。
正常的页面交付可以完全短路,以便总是发送Symfony响应,但常规的安排是将HTML响应嵌入到Drupal页面中,作为page.tpl.php
中的$content
变量。非HTML响应直接发送给用户。
用法
实现 hook_kernel_info()
并将您的Symfony Kernel命名为 app
(只支持一个)。
内核类必须是可自动加载的(与Symfony的前端控制器不同,它们包括它)。将其放入模块的信息文件中。
name = My awesome Symfony application core = 7.x dependencies[] = kernel files[] = app/AppKernel.php
此模块中的app
和src
目录是您自己项目的起点。
使用 drush app
来使用您的Symfony kernel的控制台命令。
待办事项
- 同步内核事件与Drupal引导。见https://github.com/bangpound/drupal-bundle/blob/master/EventListener/BootstrapListener.php
- 与Drupal的会话处理器合作。见https://github.com/bangpound/drupal-bundle/blob/master/DrupalSessionHandler.php
- 通过UserProvider将Drupal用户暴露给Symfony。见https://github.com/bangpound/drupal-bundle/blob/master/Security/User/UserProvider.php
- 使用LazyHttpKernel和UrlMap支持多个内核。
已知问题
- 在您的内核中禁用Symfony网络分析器。无论如何,它也不能提供您请求和响应的准确图像!
- Assetic难以使用。您不能使用Assetic控制器,但您可以从Drupal中删除资产并使用它们。后续提供文档。