问题标签 [symfony3.x]

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 回答
111 浏览

php - Sonata/AdminBundle:已选择的选项

我是 Symfony 和 Sonata/AdminBundle 的新手。我想知道selected当实体具有来自其他实体的字段时如何标记选项。例如:我有两个实体:ShopCityShop实体有一个名为 的字段id_city

我的问题是当我渲染编辑表单时,因为总是id_city选择选项中的第一个。

这是我在AdminStores类中呈现配置表单的一段代码:

在这段代码中,我正在恢复AdminStores课堂上的所有城市:

我想知道“如果this->id_city == entity->id_city那么,选项被选中”的逻辑。

提前致谢

我编辑此评论是因为我认为我解决了它。

在我的AdminController被​​调用中,ShopsAdmin我创建了一个名为的方法getAllMunicipios,该方法返回一个带有它们的数组nameid

这是方法:

现在我的AdminStores::configureFormFields方法是这样的:

这是一个好方法吗?我认为返回所有的方法必须放在实体中而不是控制器中,但我不知道它是如何静态的

0 投票
2 回答
43 浏览

symfony - 如何检查数据库中是否存在画廊名称?

公共函数 createGalleryAction(请求 $request) {

请提及将验证码放在哪里,我是 Symfony 的新手..

0 投票
1 回答
1057 浏览

symfony - Symfony - 运行单元测试时无法访问控制台命令

我正在尝试在运行我的 phpunit 测试时从 php 代码运行夹具命令。它最终出现以下错误: Symfony\\Component\\Console\\Exception\\CommandNotFoundException] There are no commands defined in the \u0022doctrine:fixtures

我必须说我一直在我的控制器上运行相同的东西并且它运行良好。它不仅找不到doctrine:fixtures命令,而且找不到所有其他命令。

就好像在运行测试时所有命令都无法访问。

这是我的代码:

0 投票
1 回答
391 浏览

php - Symfony,当从内置服务器提供分页时不显示调试栏

我有一个使用 apache y NGINX 在 Linux 上运行的 Symfony 实例。我正在使用内置server:start命令启动项目:

回到我的浏览器,它加载了 Symfony 起始页,但它也显示了调试栏。

我检查了config_dev.yml文件,我认为它是正确的:

但是,如果我尝试访问另一个我没有的路由,也会显示调试栏:

找不到路线

0 投票
1 回答
659 浏览

php - 尝试 Symfony 3.4 beta3 时出现 TemplateListener 错误

我正在尝试从 Symfony 3.3.10 迁移到 Symfony 3.4 beta3。我有以下错误:

类型错误:传递给 Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::__construct() 的参数 1 必须是 Sensio\Bundle\FrameworkExtraBundle\Templating\TemplateGuesser 的实例,给定的 ContainerWhrfjwe 实例,在 /home/coil/workspace/ 中调用project/api/var/cache/dev/ContainerWhrfjwe/getDebug_EventDispatcherService.php 在第 21 行

这是我在composer.json文件中修改的内容:

前:

其他相同的行

composer 命令可以正常工作。但是每一页都会引发这个错误。(即使使用 CLI)

0 投票
1 回答
791 浏览

php - Symfony路径树枝函数中的编码参数

在我的应用程序中,我使用 Symfony Twig 扩展功能path来创建到另一个路由的链接。该路由接受一个参数,所以我这样编写路径函数:

在某些情况下,给定的值p包含一个斜杠,Symfony 失败并出现以下错误:

"路由 "r" 的参数 "p" 必须匹配 "[^/]++" (".../..." given) 以生成相应的 URL。")

我希望 Symfony 能够处理这个问题并自动对这些值进行 URL 编码,但显然不是(或者我做错了什么)。

无论如何,我设法用url_encodeTwig 过滤器解决了这个问题,如下所示:

现在在我的控制器中,我接受这个参数,如下所示:

显然 Symfony 不会自动对这个值进行 URL 解码$p,这也是我所期望的。

我在这里做错了什么,还是真的有必要自己处理 URL 编码/解码?在 Symfony 文档中,我根本找不到任何关于此的详细信息。

0 投票
1 回答
940 浏览

google-app-engine - Google App Engine Flexible 上的 Symfony3 无法连接到 Google Cloud SQL MySQL

我无法让我在 Google App Engine Flexible 上的 Symfony 3 项目连接到 Google Cloud SQL(MySQL,第 2 代)。

从这些例子开始

https://github.com/GoogleCloudPlatform/php-docs-samples/tree/master/appengine/flexible/symfony

https://github.com/GoogleCloudPlatform/php-docs-samples/tree/master/appengine/flexible/cloudsql-mysql

我在 europe-west3 创建了一个 Google App Engine 和一个 Google Cloud SQL(MySQL,第 2 代)。我在我的 GAE 上测试了这些示例,并且都运行良好。

然后我从头开始创建了一个新的、非常简单的 Symfony 3.3 项目。创建后(只有欢迎屏幕和“您的应用程序现已准备就绪。您可以在以下位置开始处理它:/app/”)我将它部署到我的 GAEflex 并且它工作正常。

之后,我为此添加了一个简单的实体和一个额外的控制器。当启动 Google 的 cloud_sql_proxy 和 Symfony 内置的网络服务器“php bin/console server:run”时,这可以正常工作。它从 Cloud SQL 读取和写入,一切都很简单。

但是,无论我尝试什么,我的 composer.json 中的“symfony-scripts”“post-install-cmd”命令中的一个(或另一个,取决于我的实验状态)总是得到“拒绝连接” .

“$ gcloud beta app deploy”输出(摘录)

参数.yml(摘录)

config.yml(摘录)

composer.json(摘录)

app.yml(完整)

请记住,我只添加或更改了示例和文档建议我这样做的行。

我做错了什么?这些示例都工作正常,通过正在运行的 cloud_sql_proxy 连接到数据库的 Symfony 项目工作正常,当我尝试从 GAEflex 中获得连接到 CloudSQL 的学说时,我没有连接。

谁能发现我可能犯的新手错误?有没有人遇到过这个问题,也许我忘记了 GAE 或 CloudSQL 的一个或另一个设置?谁能指出我使用 GAEFlex 和 CloudSQL 的 Symfony3/Doctrine 项目的存储库?

我被困住了,因为我找不到任何关于如何让这个相当明显的组合运行的最新文档。任何帮助是极大的赞赏!

干杯/卡斯滕

0 投票
2 回答
3478 浏览

symfony - 如何在 Symfony 3.x 的控制器中验证电子邮件地址

我已经在我的 Symfony 项目中集成了 FOSUserBundle 和 HWIOAUTHBundle。我在 FOSUserBundle 的简单登录表单旁边有一个 facebook 和一个 google 登录/注册。但是,Facebook 不一定会给我回电子邮件,因为 Facebook 帐户不需要它(即当用户通过电话在 Facebook 上注册时)。在这种情况下,当用户注册时,我将她/他的电子邮件地址设置为与 facebook/google ID 相同(因为我不能将电子邮件字段留空)。

当有人在我的网站上订购商品时,我需要向他发送一封电子邮件,其中包含她/他将用来验证自己的二维码,因此我需要一种从用户那里获取真实电子邮件地址的方法。

我认为当用户通过 Facebook 注册并尝试购买产品时,我会将她/他重定向到个人资料编辑页面,显示他/她应该提供正确的电子邮件地址的通知,然后她/他可以继续随着购买。

但是,我需要验证他们当前的电子邮件是否是处理购买的控制器中的真实(或至少看起来真实的)电子邮件地址。

如何在控制器中使用 Symfony 的验证器来检查用户的电子邮件是否$user = $this->get('security.token_storage')->getToken()->getUser(); $user->getEmail();真的看起来像电子邮件?

现在这就是我所拥有的:

提前致谢!

0 投票
2 回答
608 浏览

symfony - 无法在 symfony sonata admin 的 show action 字段中设置自定义数据

我有一个显示页面,我想添加一个自定义值。

我已经尝试做我在其他操作中所做的事情,即使用 data 键将数组添加到第三个参数,如下所示:

在 configureListFields 操作中,这是可行的。我已经用 data 属性注入了自定义值。

但我仍然无法访问show.html.twig文件中的关键示例。它给了我这个错误

变量“示例”不存在。

我应该怎么做才能访问树枝文件中的这个自定义变量?

0 投票
1 回答
1635 浏览

php - 根据 SonataAdminBundle 中的其他字段更改字段

在 Symfony3 项目中,我有一个像这样的 SonataAdminBundle 表单:

当我更改rentalTime 的值时,我想更改rentaltimeType 的值。示例:如果我在rentalTime 字段中选择24H 并自动将rentalTimeType 更改为“Plage de jours”。

我已经阅读了很多使用 $subject 的主题,但这并不是我所需要的。

那么有可能做我需要的吗?