leaseweb / default-routing-bundle
提供默认路由、相对路由和默认模板功能
Requires
- php: >=5.3.2
- symfony/framework-bundle: >=2.1
- symfony/security-bundle: >=2.1
Requires (Dev)
- doctrine/doctrine-bundle: *
- swiftmailer/swiftmailer: *
- symfony/validator: 2.1.*
- symfony/yaml: 2.1.*
- twig/twig: *
- willdurand/propel-typehintable-behavior: dev-master
This package is not auto-updated.
Last update: 2024-09-14 13:30:21 UTC
README
LswDefaultRoutingBundle 向您的 Symfony2 应用程序添加默认路由。默认路由为配置的包添加路由命名方案。这强制执行路由的一致命名,简化了编程和调试。
要求
- Symfony 2.1+
安装
安装分为以下步骤
- 使用 composer 下载 LswDefaultRoutingBundle
- 启用 Bundle
- 将默认路由添加到您的 routing.yml 中
- 检查默认路由是否已添加
步骤 1: 使用 composer 下载 LswDefaultRoutingBundle
在您的 composer.json 中添加 LswDefaultRoutingBundle
{ "require": { "leaseweb/default-routing-bundle": "*", ... } }
现在运行以下命令,让 composer 下载该包
$ php composer.phar update leaseweb/default-routing-bundle
Composer 将该包安装到您的项目的 vendor/leaseweb
目录。
步骤 2: 启用 Bundle
在 kernel 中启用 Bundle
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Lsw\DefaultRoutingBundle\LswDefaultRoutingBundle(), ); }
步骤 3: 将默认路由添加到您的 routing.yml 中
如果您想向一个 Bundle 添加默认路由,您必须在此路由配置文件中配置它
app/config/routing.yml
以下行应该添加以将默认路由添加到流行的 FosUserBundle
FosUserBundle:
resource: "@FOSUserBundle"
prefix: /
type: default
使用 prefix 选项可以避免命名空间冲突。
步骤 4: 检查默认路由是否已添加
使用以下命令查看是否已添加路由
Symfony2
app/console router:debug
Symfony3
bin/console debug:router
默认路由器添加到路由表中的条目如下所示
[router] Current routes
Name Method Pattern
fos_user.user.login_check ANY /user/login_check.{_format}
fos_user.user.logout ANY /user/logout.{_format}
fos_user.user.login ANY /user/login.{_format}
...
使用方法
默认路由
当您在控制器中创建一个操作时,您不需要将操作的路由添加到路由配置中。这是自动完成的。
默认模板
当您在控制器中创建一个操作时,您不需要使用 @Template 指令指定模板。这是自动完成的。
相对路由
如果您的当前路由是 'fos_user.user.index' 并且您使用了一个不存在的路由 'view'。相对路由功能将自动搜索 'fos_user.user.view'。
如果您的当前路由是 'fos_user.user.index' 并且您使用了一个不存在的路由 'group.view'。相对路由功能将自动搜索 'fos_user.group.view'。
在控制器中
当您在 Controller/UserController.php 文件中的 indexAction() 中时,如果您想重定向到 viewAction,您可以使用
$this->redirect($this->generateUrl('view', compact('id')))
在 Twig 模板中
当您在 Resources/views/User/index.html.twig 文件中的索引模板中创建指向特定用户的链接时,您可以使用
<a href="{{ path('view', {id: id}) }}">View</a>