问题标签 [symfony-4.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.
symfony - 在自定义页面中创建自定义路由
我正在使用 Symfony 4.3 和 Sonata 3.x 版本。
我正在尝试在自定义页面中创建自定义路由,但出现错误:
我有一个与 Y 实体有 OneToMany 关系的实体 X。用代码解释:
然后是我的 YAdmin :
所以在那里,我添加了一个带有如下模板的操作:
所以错误说它无法找到路由 admin.photocall|admin.photocall_gallery.moderate。但是当我在添加中等路由后在 YAdmin 中转储 $collection 时,我有两个元素:
admin.photocall|admin.photocall_gallery.list(当前页面)
admin.photocall|admin.photocall_gallery.moderate
我搜索过,但看起来没有其他人这样做。
谢谢你的帮助
security - 如何通过升级到 4.3 来转移到现有项目中编码器的“算法:自动”?
我们最近启动了一个项目,用户可以提前访问它。之前我们对编码器使用了 bcypt 算法,现在升级到 4.3 会给我们一个弃用的警告,将算法改为自动。
我尝试进行设置,但得到 401 bad_credentials 作为答案,因为编码器对密码的编码方式不同,当然没有匹配项。
我尽量不要在代码中保留任何已弃用的警告,因此最好使用最新的框架(必须)。
是否有一种无缝的方式来移动自动算法?或者我应该尝试编写一个 EventListener/Subscriber 在预身份验证阶段对其进行转换。
symfony - 具有“算法:自动”的用户密码字段的最大长度?
Symfony 4.3 弃用了 bcrypt 算法,参见UPGRADE-4.3.md:
使用 argon2i 或 bcrypt 作为算法配置编码器已被弃用,请改用 auto。
所以我将 security.yaml 更改为:
问题是,更改为自动后,散列字符串更长:
'INSERT INTO users (..., password, ...) VALUES (...)' with params [..., "$argon2id$v=19$m=65536,t=6,p=1$d2RhZjVuaWJsSnE0TW5haA $ycOn7EHjPOoBTSa6SHDOBWL2AvwfPNjAstlSTEMmPpU", ...]:
SQLSTATE [22001]:字符串数据,右截断:1406 第 1 行的列“密码”数据太长
这个字符串有 97 个字符长,而我的密码列是 64。我没有找到任何关于“auto”属性的最大可能长度的文档,是 97 吗?或者可以更多?
symfony - 如何在 Symfony OneToMany 关系中创建动态丢弃?
教区:
一对多
我想动态下拉:当用户点击教区名称时,它应该显示相关的教区名称。
我尝试使用 Form Event,但无法遵循文档。这是代码。
symfony - OVH 服务器上的 symfony 4.3,缓存清除返回错误 255(同时 composer update / heroku deploy from github)
我做了一个 symfony 4.3 应用程序,想把它放在我的 OVH 服务器上。我将我的应用程序保存在 github 上,并忽略了 .env 文件,以及 .gitignore 中已忽略的所有文件和文件夹。然后,在 SSH 中,在我的 OVH 服务器中,我做了一个 git clone 来获取我的应用程序。然后我做了一个作曲家更新以获取所有丢失的文件和文件夹(var、vendor、.env)。这给了我错误:
供应商出现在我的服务器上,但既没有 var 也没有 .env。所以我通过filezilla在FTP中手动传输.env,我用APP_ENV = prod更改了它,然后我手动(仍然使用filezilla)创建了一个var文件夹,其中包含缓存和日志文件夹(我没有传输我的所以它是空的,所以已经清除)。然后我检查了:我的网站正在互联网上运行(来自我的服务器,而不是本地)。
那么,问题解决了吗?......是的,没有。该网站有效,但我的目的不是在互联网上发布网站,而是学习(我在 udemy 上学习 symfony 课程)。我必须学习如何使用 heroku 进行自动部署。
所以我创建了一个 heroku 帐户,将其链接到我的 github 帐户和我的应用程序。但是当我尝试从heroku手动部署(在自动部署之前检查它是否有效)时,我仍然有一个缓存清除255错误([修改:一些数字和字母]是我隐藏在错误消息中的东西,因为我想知道是否这可能很敏感):
由于错误消息,我查看了我的 composer.json 文件,我有这个:
有什么问题吗?我看不出我能改变什么。
我尝试了很多我在互联网上找到的东西:
https://github.com/symfony/flex/issues/406 作曲家更新 symfony/flex --no-plugins --no-scripts。作曲家安装
在 ssh 中执行本身并没有产生任何错误,但是在再次尝试在 heroku 上部署时没有解决问题
在这种情况下,我还尝试了我课程中老师提出的建议:
相同:执行此操作时没有错误,但尝试在 heroku 上部署时没有解决问题
自昨天以来的许多事情,我都不记得我尝试过的所有事情:-/但没有任何效果。
symfony - Symfony 从 4.2 更新到 4.3 导致 Web Profiler 崩溃
我跑了composer update
,现在收到大量弃用警告:
Web Profiler 工具栏因以下错误而损坏:
加载 Web 调试工具栏时出错。
然而,当我这样做时,bin/console --version
我得到:
是什么赋予了?composer.json文件如何让Composer能够更新为4.3
偶数?
这是我当前的composer.json:
symfony4 - 如何将 Symfony 次要版本从 4.2 升级到 4.3
我需要将 Symfony 次要版本从 4.2 升级到 4.3。
我查了官方文档,发现只有4.0到4.1,没有说明哪些文件应该手动编辑。我按照文档进行操作,发现还不够清楚。
我之前阅读过 Stackoverflow 上的文档并成功将其升级为 4.1 到 4.2,我想要这样的东西。
symfony - Symfony 注解路由顺序
我目前在我的 Symfony4 (4.3) 项目中遇到了路由问题。我的问题很简单,我想在我的控制器中使用路由注释,但我想定义这些的顺序。
例如,如果我有两个具有以下路由的控制器:
和
在config/routes/annotations.yaml
我这样定义我的路线
然后,如果我打电话/test/my_value
,我想被重定向到,FooController
因为他的index
动作定义@Route("/test/my_value", name="app_foo")
但像路由一样按字母顺序加载,首先调用index
来自BarController
with app_bar
route 的动作。
所以我试图定义以下路由:
但这不起作用,BarController 和他的app_bar
路由仍然在app_foo
来自 FooController 的路由之前调用。
另外,我不明白config/routes/annotations.yaml
vs的目的,config/routes.yaml
因为两者都可以包含任何类型的路线......我错过了什么?
symfony-4.3 - symfony php bin 控制台路由器匹配命令失败并进入其他位置获取 path_info?
我刚刚安装了新的 symfony4.3 骨架并创建了一个控制器,当进入终端并执行以下命令时:
php bin/console router:match /blog
它显示错误,如 [ERROR] None of the routes match the path "C:/Program Files/Git/blog"
请找到下图。
symfony - 由 make:registration-form 制作的表单中的 Symfony 4.3 错误
以这种方式创建注册表后:https ://symfony.com/doc/current/doctrine/registration_form.html 创建帐户时出现问题。在以前的版本中,我以相同的方式进行操作,并且没有任何问题。我不确定这是一个错误还是我以错误的方式做某事。表格仍然无效。在 Profiler->Validation 中我可以看到一个调用:data.password 这个值不应该为空。
我试图从表单构建器中删除数据参数并删除选项解析器然后工作,但我知道这不是一个正确的解决方案。
从 RegistrationFormType.php 中删除:
在 RegistrationController.php 中更改:
你能帮我正确解决这个问题吗?