leaseweb/default-routing-bundle

提供默认路由、相对路由和默认模板功能

安装数: 22,730

依赖者: 0

建议者: 0

安全性: 0

星标: 8

关注者: 22

分支: 1

类型:symfony-bundle

v1.0.5 2016-06-11 09:09 UTC

This package is not auto-updated.

Last update: 2024-09-14 13:30:21 UTC


README

LswDefaultRoutingBundle 向您的 Symfony2 应用程序添加默认路由。默认路由为配置的包添加路由命名方案。这强制执行路由的一致命名,简化了编程和调试。

要求

  • Symfony 2.1+

安装

安装分为以下步骤

  1. 使用 composer 下载 LswDefaultRoutingBundle
  2. 启用 Bundle
  3. 将默认路由添加到您的 routing.yml 中
  4. 检查默认路由是否已添加

步骤 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>