如何获取 Symfony2 中控制器的所有路由列表?

2024-03-20

我有一个控制器,它实现了所有路线/URL。 我的想法是为所有帮助页面提供通用索引。

有没有办法获取控制器(从控制器内)定义的所有路由Symfony2?


您可以做的是将 cmd 与(最高 SF2.6)一起使用

php app/console router:debug

对于 SF 2.7,命令是

php app/console debug:router

对于 SF 3.0,命令是

php bin/console debug:router

它显示了所有路线。

如果您为每个控制器定义一个前缀(我推荐),您可以例如使用

php app/console router:debug | grep "<prefixhere>"

显示所有匹配的路由

要显示控制器中的所有路线,输出基本相同 我将在控制器中使用以下内容(这与 symfony 组件中的 router:debug 命令中使用的方法相同)

/**
 * @Route("/routes", name="routes")
 * @Method("GET")
 * @Template("routes.html.twig")
 *
 * @return array
 */
public function routeAction()
{
    /** @var Router $router */
    $router = $this->get('router');
    $routes = $router->getRouteCollection();

    foreach ($routes as $route) {
        $this->convertController($route);
    }

    return [
        'routes' => $routes
    ];
}


private function convertController(\Symfony\Component\Routing\Route $route)
{
    $nameParser = $this->get('controller_name_converter');
    if ($route->hasDefault('_controller')) {
        try {
            $route->setDefault('_controller', $nameParser->build($route->getDefault('_controller')));
        } catch (\InvalidArgumentException $e) {
        }
    }
}

路线.html.twig

<table>
{% for route in routes %}
    <tr>
        <td>{{ route.path }}</td>
        <td>{{ route.methods|length > 0 ? route.methods|join(', ') : 'ANY' }}</td>
        <td>{{ route.defaults._controller }}</td>
    </tr>
{% endfor %}
</table>

输出将是:

/_wdt/{token} ANY web_profiler.controller.profiler:toolbarAction etc.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取 Symfony2 中控制器的所有路由列表? 的相关文章

  • 非集群主键实体框架代码优先

    在实体框架代码优先方法中 我们是否可以将主键定义为非聚集索引 并将其他几个字段的组合定义为聚集索引 Thanks EF 6 2 解决了这个问题 目前 它处于测试状态 但它可以工作 首先 将 EF 升级到 6 2 Install Packag
  • 如何设置外键id的id #sf2 #doctrine2

    我正在尝试手动为对象设置外键 id 但没有找到如何执行此操作 class Item ORM ManyToOne targetEntity MyBundle Entity ItemType inversedBy itemTypes ORM J
  • 如何捕获 Symfony2/Silex 中的错误和异常?

    我想在我的 Silex 应用程序中捕获错误和异常 将它们包装在始终返回给客户端的自定义 JSON 响应中 我发现了三种基本方法 app gt error Symfony Component Debug ErrorHandler regist
  • 寻找多列索引的最佳顺序

    假设我有一个包含两个索引的表 一个位于 a 列 一个位于 a b 和 c 列 我注意到 根据索引定义中列的顺序 MySQL 可能最终使用单列索引而不是多列索引 即使多列索引中的所有三列都在 ON 中引用JOIN 的一部分 这有点引出了一个问
  • 对自定义 symfony 约束进行单元测试

    这应该非常简单 但今天下午它让我发疯 对自定义 symfony 验证器进行单元测试的正确方法是什么 我能找到的所有文章都与我的做法完全相同 class Foo extends Constraint public string message
  • @UniqueConstraint 和 @Column(unique=true) 选项之间的 Doctrine ORM 级别差异

    在数据库级别 使用一个选项与另一个选项来定义时没有区别独特性如下所示 虽然 UniqueConstraint在其文档中读取 它仅在 SchemaTool 模式生成上下文中有意义 两者之间是否存在 ORM 级别差异 我的意思是 当我们运行查询
  • SQL:将现有列设置为 MySQL 中的主键

    我有一个包含 3 列的数据库 id name somethingelse 该表没有设置索引 我收到 未定义索引 在 phpmyadmin 中id 是一个 7 位字母数字值 每行都是唯一的 我想将 Drugid 设置为主键 索引 我不知道有没
  • Symfony 2.7 / 3 - Doctrine:您请求了一个不存在的服务“fos_user.doctrine_registry”

    今天做作曲家更新时突然出现以下错误 Symfony Component DependencyInjection Exception ServiceNotFoundException 您请求了一项不存在的服务 fos user doctrin
  • 在 Akka 中配置嵌套 Router

    我有一些嵌套的路由器 应创建它FromConfig 我想要的是这样的 test akka actor deployment worker router round robin nr of instances 5 slave router b
  • Elasticsearch 关于“空索引”的查询

    在我的应用程序中 我使用了几个elasticsearch索引 它们在初始状态下不包含索引文档 我认为这可以称为 空 该文档的映射是正确且有效的 该应用程序还有一个包含实体的关系数据库 这些实体可能具有在 elasticsearch 中关联的
  • 当字段不为空时创建部分索引

    我正在尝试在字段上创建部分索引 但仅当该字段不为空时 换句话说 我希望能够让许多文档能够存储 null 但对于在字段中实际具有值的文档 我希望该值是唯一的 这是我尝试使用的代码 db account createIndex email 1
  • 我可以更改 Route-Model-Binding 的解析逻辑以始终小写字符串键吗?

    我在 Laravel 5 7 项目中使用 UUID 键 并且效果非常好 当通过路由从数据库请求项目时 将查找键并将其作为字符串进行比较 当请求发送大写的 uuid 字符串时 路由模型绑定将找不到模型 因为 Laravel 的 UUID 字符
  • 术语 SSTable 和 LSM Tree 之间有什么区别

    这两个术语可以互换使用吗 我读过有关 SSTable 工作原理的文章 通常文章都会开始提到 LSM Tree 然而 它们似乎是同一件事 我什么时候应该使用一个术语而不是另一个术语 对于凡人来说 SSTables 和 LSM Trees 的最
  • Git 无效的修订范围 Symfony2 Composer 外部包

    RuntimeException Failed to execute git log 18efcf67d236d5bbf46ac67820250dffd0474b6e 94e2146f525fa1367e15646fa273e5b34f92
  • symfony2 FOSRestBundle 注释

    有人在控制器中使用过 put get post delete 注释 https github com FriendsOfSymfony FOSRestBundle blob master Controller Annotations 吗 我
  • Doctrine 装置如何覆盖 purger 类?

    From doctrine fixture bundle the console doctrine fixtures load n命令定义如下 https github com doctrine DoctrineFixturesBundle
  • Symfony2动态添加事件监听器

    如何在不使用 services yml 模式的情况下动态地将事件侦听器 在我的例子中是一个学说事件 添加到内核 在深入研究了供应商目录之后 我自己找到了答案appProdProjectContainer php文件 如果您希望使用事件管理器
  • 外键和索引

    我有 2 张桌子 products and 类别 每个类别有很多产品 一个产品可以属于多个类别 products product id int primary auto increment name unique etc 类别 catego
  • 具有动态表单名称的 form_widget

    在我的 Twig 模板中 我有一个 FOR 循环 它创建多个表单 如下所示 for thing in things set form id myform thing Id set form name attribute form myfor
  • 来自控制器的 Rails 验证

    有一个联系页面 可以输入姓名 电话 电子邮件和消息 然后发送到管理员的电子邮件 没有理由将消息存储在数据库中 问题 如何 在控制器中使用 Rails 验证 根本不使用模型 或者 在模型中使用验证 但没有任何数据库关系 UPD Model c

随机推荐

  • 在 BeautifulSoup 中替换文本而不转义

    我想用 BeautifulSoup 中的锚链接包装一些尚未链接的单词 我用这个来实现它 from bs4 import BeautifulSoup import re text replace this string soup Beauti
  • PHPUnit 在运行第一个测试之前进行设置,并在运行最后一个测试之后进行拆除

    我正在尝试使用 PHPUnit 为 php 应用程序实现类似 Django 的测试实用程序 类似 Django 我的意思是在运行第一个测试之前从主数据库创建一个单独的测试数据库 并在运行最后一个测试后将其删除 即使一次运行许多测试用例 测试
  • 用dense_rank数填充多维数组的rank列

    我的数组结构如下 points gt 10 details gt name gt Team A rank gt points gt 10 details gt name gt Team B rank gt points gt 8 detai
  • c++ 可以通过引用传递临时 lambda(适用于 msvc/windows,但不适用于 gcc/linux)?

    假设我有以下代码片段 global variable std thread worker thread Template function template
  • ui 中的输入绑定:jsf 中的重复

    我正在使用facelets jsf 2 0和primefaces 3 0 M2组件库 我正在尝试实现动态行数 包括发生数据表选择时填充的输入字段 每当进行选择时 动态行都会使用输入字段正确生成 但在后续选择的第一个选择之后 动态行计数会正确
  • 如何将本地MYSQL数据库移动到远程数据库服务器

    我有一个在 WAMP 下运行的本地 MYSQL 数据库 我需要将其移至生产数据库服务器 MySQL 新手 需要了解提升此数据库的最佳方法 您可以在当前服务器上运行它 mysqldump u user p database name gt d
  • R:如何将我的数据格式化为多项式 Logit?

    我正在 R 上复制一些 Stata 代码 我想使用以下命令执行多项式逻辑回归 mlogit函数 来自同名包 我知道有一个multinom函数于nnet但我不想用这个 我的问题是 使用mlogit 我需要使用以下方式格式化我的数据mlogit
  • 如何在 iOS 应用程序中获取某个位置的时区? [复制]

    这个问题在这里已经有答案了 我是 iOS 开发新手 我正在尝试构建一个主要可以做两件事的应用程序 a 获取用户的系统时间 比如说 他的手机在伦敦 所以他的时间 b 获取给定地点的时间 例如 旧金山 然后 我想计算两个地点之间的时间差 例如
  • PHP 中基于开关的 URL 路由

    我目前正在做的是这样的 我有一个 path变量 即后面的所有内容索引 php 我用 htaccess 隐藏 直到问号以忽略查询字符串 然后我用一个switch with preg match该变量的情况下确定它应该调用什么脚本 例如 swi
  • 如何去除 CMake 变量中的尾随空格?

    我们正在尝试改进 CMake 生成的 makefile 对于 Clang GCC 和 ICC 我们要添加 march native 这样做的块看起来像 march native for GCC Clang and ICC on i386 i
  • Slick Grid 中的数据更新

    我有一个 slickgrid 大约有 100 行 它的数据在 5 秒内刷新 但每次更新时滚动都会重置 这令人不安 我尝试使用 dataview 和 dataview refresh 但这次没有任何变化反映到网格 这是我在每次刷新时尝试的内容
  • 使用 pandas 加载大 CSV 文件

    我正在尝试使用 pandas 加载 csv 文件 大约 250 MB 作为数据框 在我的第一次尝试中 我使用了典型的 read csv 命令 但收到错误内存 我已经尝试过中提到的方法pandas 中的大型持久 DataFrame https
  • Laravel 模型:模型属性在哪里?

    我来自 Visual Studio Entity Framework 背景 并尝试在 Laravel Eloquent 中找到等效功能 在 EF 和 Visual Studio 中 我们向应用程序添加一个新模型 并只告诉它我们现有的数据库
  • 如何更改使用 Flutter 构建的应用程序显示名称?

    我已经使用 Flutter create testapp 创建了该应用程序 现在 我想将应用程序名称从 testapp 更改为 My Trips Tracker 我怎样才能做到这一点 我尝试过从AndroidManifest xml 并且它
  • 基于Enum的Jackson多态反序列化

    我正在与Jackson 多态反序列化 https github com FasterXML jackson docs wiki JacksonPolymorphicDeserialization 这是我的代码 它反序列化为基于 type 属
  • 使用 JavaScript/onorientationchange 重置 iPhone 上 Safari 的比例/宽度/缩放

    我根据用户使用 body 标签中的 onorientationchange 调用握持手机的方式显示不同的内容 这非常有效 我隐藏一个 div 同时使另一个 div 可见 纵向模式下的 div 在首次加载时看起来很棒 我用它来获得正确的比例
  • 如何从文本中删除除文字和表情符号之外的所有内容?

    作为文本分类问题的一部分 我正在尝试清理文本数据集 到目前为止 我删除了除文本之外的所有内容 标点符号 数字 表情符号 一切都被删除了 现在我尝试使用表情符号作为特征 因此我想保留单词和表情符号 首先 我在文本中搜索表情符号 并将它们与其他
  • API Key 和 JWT Token 可以在同一个 .Net 6 WebAPI 中使用吗

    我正在构建一个新的 Net 6 WebAPI 它将被许多应用程序使用 因此我需要实现 API 密钥来限制仅对这些应用程序的访问 只有极少数个人用户需要授权 管理员 因此我想与 JWT 结合用于管理端点 我们不希望要求用户在不必要的情况下 非
  • mysql批量插入文本文件

    我有纯文本文件 我想将该文本文件的内容逐行移动到 mysql 表中 任何人都可以帮助我 因为它不是 csv 文件 我怎样才能实现这一目标 我设计我的数据库如下 RowID int 11 NO PRI auto increment Text
  • 如何获取 Symfony2 中控制器的所有路由列表?

    我有一个控制器 它实现了所有路线 URL 我的想法是为所有帮助页面提供通用索引 有没有办法获取控制器 从控制器内 定义的所有路由Symfony2 您可以做的是将 cmd 与 最高 SF2 6 一起使用 php app console rou