问题标签 [symfony-4.4]
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 - ParseError:语法错误,意外的 'EntityManagerInterface' (T_STRING),期望函数 (T_FUNCTION) 或 const (T_CONST)
此代码产生错误:
我的 composer.json 使用
我使用 Symfony 4.4,这是我工作的必要条件。
我在互联网上的某个地方发现这种类型的错误是由过时的 php 版本引起的,但我不确定在这种特定情况下是否是这种情况。我的问题是我是否可以以不同的方式编写代码,或者我唯一的选择是转到更高的 php 版本?
php - 在 Symfony 4.4 中覆盖单个表单字段的标签以包含 HTML
我在 Symfony 4.4 应用程序中覆盖表单中的标签时遇到问题:
personal.form.fields.legal
看起来像这样:
I agree that I am 18 and above, I have read and accept the <a href="/terms-cond">T&Cs</a>
我的表单定义:
我试图覆盖这个标签是这样的:
我有一个 Twig 扩展可以做到这一点:
我发现这与标签重复,但我找不到纠正此问题的方法。我有一个复选框,但有两个标签(都显示为红色)
symfony-4.4 - Symfony security.yml access_controls 带有可选前缀的多语言
我想保护登录屏幕后面的页面的全部内容。我的目标是在英文页面前加上 (/en),而不是在德文页面前加上 (/)。
我的控制器注释看起来是这样的:
这是我的 security.yml 的一部分:
使用该配置,受保护的内容仍然可供所有人使用。
在尝试以下操作时,我得到重定向循环过多的重定向。
有人可以提供解决方案吗?我正在使用 Symfony 4.4 LTS。
最好的问候,斯特凡
php - Symfony 4.4 ContainerGWHmz1B\srcApp_KernelDevDebugContainer::getParameter(string $name) 声明必须兼容
我最近将我的项目从 Symfony 3.4 升级到了 4.4。我仍在进行升级,但我陷入了这个致命错误,上面写着
Compile Error: Declaration of ContainerGWHmz1B\srcApp_KernelDevDebugContainer::getParameter(string $name) must be compatible with Symfony\Component\DependencyInjection\Container::getParameter($name)
当 Symfony 生成存储在其中的所有服务和类的缓存时,就会发生这种情况/var/cache/dev/ContainerGWHmz1B/srcApp_KernelDevDebugContainer
从错误来看,这是完全有道理的,因为在我编译的容器中,这是定义
public function getParameter(string $name)
而在Container
这个类扩展的类中,这是定义
public function getParameter($name)
.
错误很明显,但我怎样才能阻止它发生呢?谢谢你的帮助。
symfony - 在 Symfony 4.4 中覆盖复选框表单字段产生重复标签且没有字段
我在 Twig 模板中覆盖 Symfony 表单中的复选框字段时遇到问题。
我在我的 Twig 模板中使用以下代码构建该字段:
在同一个模板中,我尝试自定义标签的以下块。请注意,上面的翻译包括 HTML,这就是我需要raw
过滤器的原因。
不幸的是,这不起作用,奇怪的是让我没有复选框和重复的标签,我不知道为什么。
database - 如何以多步骤形式保存数据库中的每一步 symfony 4
我想制作一个多步骤表单(symfony 4),并且我想将每一步都保存在数据库中(同一个实体用户)。问题是当我进入第二步并提交第二步时,第一步的验证不允许我将第二个表单保存在同一用户中。你有什么建议、例子或视频来帮助我解决这个问题吗?就像当我进入第二步并提交时,第一步和第二步都提交了。
我做了一个研究,找到了捆绑包 CraueFormFlowBundle,但我不知道它是如何工作的以及如何使用它!
php - 如何从可停用的捆绑包中加载路线
经过多次搜索,我找不到如何从可能“停用”的捆绑包中动态加载路由。在使用Symfony 4.4的遗留项目中,自定义脚本可以启用或禁用包。此脚本仅注释 AppKernel.php 中的行。基于此,我激活的 Bundle 必须定义自己的路由。我尝试使用自定义路由加载器并将其插入到我的主 route.yml 中:
但是当我禁用我的包时,我收到了这个错误:
错误输出:================ 13:25:04 错误 [控制台] 运行命令“cache:warmup --env=dev”时引发错误。消息:“无法加载资源“。”。确保有一个支持“my_bundle_routes”类型的加载器。” ["exception" => Symfony\Component\Config\Exception\LoaderLoadException { …},"command" => "cache:warmup --env=dev","message" => "Cannot load resource ".". 确保有一个支持“my_bundle_routes”类型的加载器。”]
在 Loader.php 第 73 行:无法加载资源“.”。确保有一个支持“my_bundle_routes”类型的加载器。
我的加载器被标记为“routing.loader”,我正在使用扩展文件动态加载我的服务。
有没有办法让动态路由加载器在我的 Bundle 被激活时正确加载路由,而在我停用 Bundle 时不正确注册路由?
提前致谢。
php - 在 SF4.4 中使用 setData 批量设置 Symfony 表单字段值
在我的 Symfony 4.4 应用程序中,我的控制器中有以下代码。我正在尝试根据以前的提交或从数据库中提取的数据预先填充表单。重要的是,DetailsType
表单包含多个实体,因此这里的每个表单设置都不是一个干净的 1 个实体。
我的问题是,如果我尝试用上面的方法预先填充表单,setData
它就不起作用。
如果我按照下面的方式单独执行它,它会起作用,但我不明白为什么。我宁愿传递setData
一个数组而不是setData
多次调用。
bootstrap-4 - Webpack Encore 在单独导出中构建主题?
我已经构建了一个包含两个主要部分的应用程序(基于 Symfony 4 / 5 + webpack Encore)。一个菜单部分和一个微应用部分。最后一个需要一些时间来构建。该应用程序出售给不同的客户。每个客户都有一个基于 Bootstrap (v4) 的自定义颜色主题。当必须向微应用程序提供更新时,由于颜色主题不同,我必须构建所有不同的环境(每个客户一个)。每一位新客户都会有一个新的颜色主题和一个新的构建......
我试图避免对微应用程序的一些小更新进行多次构建。但我必须记住,我需要访问微应用程序的 JS 文件中的 BS4-JS 函数。我尝试使用颜色主题“指令”的目录名称创建一个 .env 变量,并在 main.js 文件中选择它,但没有成功。
如何使这些微应用程序独立于主题部分,这样我只需要在有更新时构建一次,并将这些更新推送到不同的服务器?
symfony - 如何在 Symfony 路由中用“-”替换空格(%20)
我想在 Symfony 4.4 路由中用“-”替换空格(%20)并删除我的 {slug} 的第一个大写字母。
例如:
食谱控制器.php
现在我的路线显示了它。
但我想展示
https://localhost:8000/receta/pollo-agridulce-chino
在我的 BD 中,我保存了“Pollo agridulce chino”
我该怎么做?