问题标签 [symfony-routing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
107 浏览

php - 如何编写递归匹配 RESTful 路径的正则表达式?

正则表达式不是我的强项,如果可能的话,我希望对此有所帮助:

我需要创建一个递归匹配 RESTful 路径的正则表达式。目的是创建一个匹配这个正则表达式的 Symfony 路由。以下是我所说的 RESTful 路径的一些示例:

等等...

基本上,我希望这种模式无限重复一次或多次:

请注意,要访问子资源,必须存在父资源的标识符。

我在这里列出了一个简短的单元测试列表(仅用于开始的两级路径): https ://regex101.com/r/Hxg0m4/2/tests

我搜索了关于同一主题的问题,但没有一个与我的问题真正相关。我还尝试对上面的正则表达式进行一些修改——比如+在正则表达式末尾使用符号,或者使用(?R)... 它从未通过我的单元测试。

任何帮助将不胜感激。

PS:这是我关于stackoverflow的第一个问题,请不要犹豫,告诉我如何更好地提出我的问题。

0 投票
0 回答
553 浏览

php - Symfony:在 Appkernel.php 中加载 Appbundle 时找不到 PHP 类

由于某些奇怪的原因,在 Appkernel.php 的 registerbundles() 函数期间找不到我的 App 和 ApiBundle 类。

这些课程在那里,似乎是正确的,我无法理解问题所在。

应用内核条目:

Neulich/src/AppBundle/NeulichAppBundle.php:

请给我一个提示,我已经尝试了很长时间了。

非常感谢。史蒂芬

0 投票
2 回答
861 浏览

php - Symfony3 路由不适用于 Web 根配置

我正在尝试将一些新的 Symfony3 应用程序集成到现有的网络空间中。在我的 webroot /html 中,每个应用程序都有自己的目录。这些应用程序中的每一个都可以是任何东西——cakePHP、自定义 PHP 等等。每个都可以通过 localhost/appname 之类的 URL 访问。这种结构不灵活,我不能再向虚拟主机或类似的东西添加 URL 模式。

因此,我将 Symfony3 安装在 /symfony,它是 /html 的同级目录。在 /html 中,我有一个 Symfony 应用程序的登录目录:/html/symfonyapp。

在 /html/symfonyapp/index.php 我只有一行代码: require_once DIR.'/../../symfony/web/app.php';

在我的 Symfony 设置中,我有一个名为 SymfonyappBundle 的包。我在 src/SymfonyappBundle/Resources/config/routing.yml 中配置了一条路由,以将对 /symfonyapp 的调用重定向到这个特定的 Bundle。

路由不工作。对http://localhost/symfonyapp的调用总是会转到“/”的路由,为什么?我觉得这与我的 Symfony 设置无关,而是与通过 /html/Symfonyapp/index.php 文件传入的请求有关。

任何帮助是极大的赞赏!

编辑:我认为列出目录结构很有帮助,所以这里是: - /var/www/html <-- this is your (global) web root |- cake-app |- custom-php-app |-symfonyapp |—index.php (which contains only a require for app.php) -/var/www/symfony <—symphony standard install here |- app/ |- vendor/ |- src/ |- web/ <-- the web root for your symfony-app |- .htaccess |- app.php <-- the "boot"-script similar to index.php

0 投票
2 回答
58 浏览

php - 找不到“GET /sf/customer-first-progam-level”的路线

如标题所示,如果我尝试访问以下 URL,则会遇到该问题:

这就是我所拥有的:

  • 应用程序/路由.yml

    /li>
  • QuoteBundle/Controller/CustomerFirstProgramLevelController.php

    /li>

这是我没有成功的尝试:

  • 清除 prod 和 dev 的缓存
  • 将路线名称更改为其他名称

如果我调试router我得到以下信息:

我正在使用 Symfony 3.2.7。有任何想法吗?我不在他们身边

0 投票
1 回答
767 浏览

symfony - Symfony:路由问题

我是 Symfony 的新手,我遵循一个教程,关于安全和用户管理的部分,但我遇到了一个似乎来自我的路由的问题。

我刚刚创建了一个实际工作的登录表单,当我继续时/app_dev.php/login,表单显示出来,我可以填写它,但是当我提交它时,我收到以下错误:

收到此错误后,如果我返回主页,我可以看到我已连接,所以它正在工作,但重定向不是。

根据文档,这来自可能配置错误的路由,但我不知道我在哪里犯了错误。

这是我的表单、security.yml 和 routing.yml 文件:

安全性.yml:

路由.yml:

我知道.yml文件非常敏感,需要 4 个空格而不是通常的缩进,所以我用空格逐行重写了文件,但它仍然无法正常工作。

我希望有人可以帮助我:p 如果您需要一些信息,请不要犹豫!

编辑:这是我的结果php bin/console debug:router php bin/控制台调试:路由器

编辑 2:为了摆脱我的问题,我只需要在我的 security.yml 中添加 default_target_path :

0 投票
1 回答
432 浏览

php - 基于 symfony 中的当前 url 重定向

我有一个 symfony 2 应用程序,它有 3 个不同的角色:管理员、供应商和用户。所有这三个用户都应该有不同的登录页面。我正在努力解决的问题是弄清楚要在某个 url 路径上security.yml获得未经身份验证的 ( ) 用户,例如重定向到类似的东西而不是. 我现在正在使用,看起来所有内容都重定向到.IS_AUTHENTICATED_ANONYMOUSLY/vendor/adminlogin/loginFOSUserBundle/login

谢谢!

0 投票
2 回答
4570 浏览

symfony - Symfony 3 使用 url 参数重定向到另一个路由

在我的 Symfony 3 项目中,我制作了以下控制器:

我想从另一个控制器重定向它,例如:

我将如何id使用路由名称重定向和传递参数?

0 投票
1 回答
137 浏览

php - 路由在 Symfony 3.2 中不起作用

我使用docs中的示例。这是 routing.yml

而这个控制器:

我看到错误:

路由文件“/var/www/pars/app/config/routing.yml”包含“app”不受支持的键:“blog_list”。预期之一:/var 中的“资源”、“类型”、“前缀”、“路径”、“主机”、“方案”、“方法”、“默认值”、“要求”、“选项”、“条件” /www/pars/app/config/routing.yml(从“/var/www/pars/app/config/routing_dev.yml”导入)。

为什么?

0 投票
1 回答
895 浏览

php - Symfony:如何为所有路由配置默认选项?

我可以在一个地方而不是每条路线上配置以下选项吗?

在我的routing.yml文件中,每条路线都有:

因为

在 Symfony 3.2 中,不需要显式设置 utf8 选项。一旦 Symfony 在路由路径或需求中发现 UTF-8 字符,它就会自动开启 UTF-8 支持。但是,此行为已被弃用,并且在 Symfony 4.0 中需要设置该选项。

0 投票
3 回答
1895 浏览

symfony - Symfony 重定向到动态路由名称

我正在使用 Symfony CMF Routing Bundle 创建动态路由(我在这里使用一个示例):

响应是从 MyRouteController 中的 getResponseAction() 函数加载的:

当我转到“/dynamic-url”时,它可以工作。

在另一个控制器中,我想重定向到这个动态路由,如下所示:

但我收到此错误:“没有一个链接的路由器能够生成路由:找不到路由'my-dynamic-route'”

也很有趣:当我转到“/dynamic-url”时,开发栏实际上说路由名称是“my-dynamic-route”。

编辑

当我加载所有路线时,我看不到我的动态路线名称:

我认为他们应该在这个列表中。