问题标签 [symfony-3.3]
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.
php - Symfony - 如何切换和使用语言环境
如何在树枝模板中使用语言环境的最佳做法是什么:
- 如何在语言之间切换(在模板中使用语言切换器)以及如何通过更改语言来保留现有 URL
- 如何使用语言环境支持创建 URL
例如:我有 2 种语言(ES和EN),默认语言是 ES,对于我的主页,我 在我的控制器文件中为/
(对于默认语言,在本例中为 ES)和(对于其他语言)创建 2 个路由注释。/{_locale}/
现在我需要将我的树枝模板的语言环境参数添加到我的 URL 中,但前提是我不会使用我的默认语言。
手动重写 URL 工作正常,但是当我在我的树枝模板上创建时,有什么简单的方法可以将语言环境参数添加到 URL 吗?
变量 locale 的实际值可以传递给 Controller,但是有没有更好的方法在 twig 中获取它?
编辑:
index.html.twig
我有
没有找到“GET /branches”的路由我使用这个 URL http://localhost:8080/en/branches(工作正常)和http://localhost:8080/branches(错误)我必须使用这样的东西:
使用路径生成 URL 是可以的,但是如果我从浏览器中的 URL 中删除语言环境参数,我会收到此错误。
非常感谢任何有用的建议
fosuserbundle - 服务“security.firewall.map.context.main”依赖于不存在的服务“Security.context”
我按照本 教程在登录后重定向用户,但在定义服务时出现此错误:
服务“security.firewall.map.context.main”依赖于不存在的服务“Security.context”。
我正在使用 Symfony3,FOSUSERBundle 2.0@dev。
这是我的服务:
经过一些研究,我发现Security.context已被删除。我想知道是否可以将其替换为其他服务,或者如何解决此错误。
symfony - Symfony Bundle 引用“@Bundle” - FileLocatorFileNotFoundException
我目前正在构建自己的 Symfony 包(我使用的是 3.3 版)。到目前为止它工作得很好,但是现在我想将特定于包的服务定义从我的包中移到包中app/config/services.yml
的服务定义中。
我创建了一个src/MyBundle/Resources/config/services.yml
并按照指南如何在 Bundle 中加载服务配置来加载它。这很好用,但我认为新创建的路径services.yml
看起来有点难看:
@Bundle
所以我认为如果我使用-notation 代替它看起来会更干净一些:
但是,比我面临的错误:
FileLocatorFileNotFoundException
文件“@MyBundle”不存在(在:中
<...>\MyBundle\DependencyInjection/../Resources/config
),其中<...>
对应于绝对路径。
我还测试了这是否是包名称的命名问题,但是当我在 中 有一个错误命名的包引用时app/config/services.yml
,例如@SomeBundleThatDoesNotExist
,我得到一个不同的错误:
FileLoaderLoadException
捆绑“SomeBundleThatDoesNotExist”不存在或未启用。
所以我的问题是:为什么@Bundle
-notation 在 the 中可以正常工作,app/config/services.yml
但在src/MyBundle/Resources/config/services.yml
?
symfony - Symfony 3:教义:生成:实体忽略默认值的属性类型
我在 Symfony 3 项目中使用 XML ORM 定义文件而不是实体注释的 Doctrine 实体生成器遇到问题。
在为以下示例指定字段的默认值时:
导致生成的实体具有分配为字符串的属性的默认值,而不是配置中指定的正确整数或布尔值。
实体属性如下所示:
我究竟做错了什么?如何解决?
感谢您的任何帮助和想法。
php - 如何在 Symfony 控制台基于组件的应用程序中加载包?
我可能在理解 Symfony 控制台组件方面遇到了一些基本问题。我正在尝试编写一个基于控制台的应用程序,我想将 Doctrine 包添加到它以创建基于 ORM 的实体,但是,我无法将包加载到我的应用程序中。
我发现我应该app/AppKernel.php
在那里创建并添加捆绑包:
然后,我还将 AppKernel 添加到 composer.json 并转储了 composer 的自动加载文件:
但是,我仍然无法在控制台应用程序的入口点中看到任何 Doctrine 命令。我什至不认为内核加载正确,对我来说最令人困惑的部分是 Github 上这两个文件之间的区别。首先,您有控制台组件Application.php
,它使用字符串作为其构造函数参数:
https://github.com/symfony/console/blob/master/Application.php
然后在 Symfony 框架中有相同的文件,该文件使用内核作为参数:
https://github.com/symfony/framework-bundle/blob/master/Console/Application.php
那么我在这里完全走错了吗?如何在控制台组件应用程序中加载包/内核?或者我需要完整的 Symfony 包来做这种事情吗?如果我只需要编写一个有点复杂的终端应用程序,那似乎有点矫枉过正。
以防万一,这些是我的相关软件包composer.json
:
symfony - 我应该在 3.3 和 3.4 中使用新的 Symfony 4 文件结构吗?
我想知道对运行 Symfony 3.3 和 3.4 的项目使用 Symfony 4 文件结构(如Fabian 的帖子中所述)是否有意义?
3.3、3.4和4.0文档中的架构页面都显示版本 3.* 目录结构,所以我不确定规范信息在哪里,因此我不能 100% 确定这不是一个好主意,也不是什么“最终”的决定是。
php - 如何在 Symfony3 中获得完整的语言环境?
我知道如何在 Symfony 中获取语言环境,例如$request->getLocale()
,但我想以“locale_region”格式获得完整的语言环境,例如“en_US”等。我目前的语言环境是 en、fr、es 等,但我想获得完整的语言环境。我需要这个,因为我想翻译包含这样代码的 Facebook 分享按钮//connect.facebook.net/en_US/
谢谢你。
php - Symfony 的安全性还需要做什么?
我想从没有表单的用户那里保存数据,例如:
然后使用这些数据并将其显示给其他用户。
所以...我应该使用额外的 PHP 函数来确保保存数据的安全吗?htmlspecialchars()、stripslashes() 等?
我知道 Symfony 有安全性,但是什么?
我知道我应该验证数据,但绕过验证还有什么?
php-7 - Symfony3 的 FosCommentBundle 资产异常
我正在尝试将 FosCommentBundle 用于 Symfony3。
我使用bundle 的文档完成了所有安装步骤。
我添加了 AppKernel 信息并创建了数据库、更新了模式并添加了 Jquery3。
但是当我尝试检查 index.html.twig 时,会出现以下错误。
我的 config.yml
路由.yml
实体: - Comment.php
线程.php
php - 在 Symfony 3 中访问存储库功能
我在 PieceRepository 中实现了一个函数,但我无法使用它。在控制器中使用它时出现此错误:
未定义的方法“FindAllDetailsPieces”。方法名称必须以 findBy 或 findOneBy 开头!
这是我的ProductRepository
文件:
这是我使用该方法的地方:
我在实体类中添加注释