我决定"gedmo/doctrine-extensions"在 Symfony 上安装以使用Translatable.
它工作正常,除了侦听器忽略我指定的默认语言环境,总是回退到en_US.
Translatable 作为服务插入:
#config.yml
services:
gedmo.listener.translatable:
class: Gedmo\Translatable\TranslatableListener
tags:
- { name: doctrine.event_subscriber, connection: default }
calls:
- [ setAnnotationReader, [ @annotation_reader ] ]
- [ setDefaultLocale, [ ru ] ]
- [ setTranslationFallback, [ true ] ]
Run Code Online (Sandbox Code Playgroud)
当我尝试find()在数据库中反对时,它总是获取en_US而不是ru:
$test = $em->find('Vendor\Entity\Test', 1);
//outputs row with 'locale' = "en_US" from `ext_translations_test` table
Run Code Online (Sandbox Code Playgroud)
仅当我直接指定语言时,例如:
$test->setTranslatableLocale('ru');
$em->refresh($test);
Run Code Online (Sandbox Code Playgroud)
它提供了所需的翻译。
有什么方法可以设置有效的默认语言环境吗?
更新
添加另一个调用函数来config.yml解决这个问题,虽然现在我不太确定setDefaultLocale()函数实际上做了什么,因为Gedmo\Translatable\TranslatableListener::$defaultLocale属性提供了我见过的最可怕的评论。将尝试找到更多... …
我在 nginx+apache 下运行这个脚本。它将大数据包(分成几部分)发送到远程服务器,循环调用 cURL 执行。对我来说奇怪的是,超时后我在浏览器(队长)中收到 504 错误,但脚本仍然继续运行!
我已经测试过它 - 脚本正在发送我需要它发送的所有数据,所以从技术上讲,这不是问题。但我认为任何像这样的不寻常的事情都可能在未来产生后果。
我希望更有经验的开发人员能够分享有关此问题的任何知识。
我正在构建文件上传,而无需 Doctrine通过注释或 YAML 进行验证。Symfony 将上传的文件呈现为Symfony\Component\HttpFoundation\File\UploadedFile对象,该对象具有getClientSize()方法、描述:
返回文件大小。
它是从上传文件的请求中提取的。那么不应被视为安全值。
那么什么才是安全的呢?那么 Symfony 使用什么Doctrine通过注释或 YAML来验证文档实体?
我读过Symfony2 Cookbook上的一篇文章,名为"如何在开发过程中处理电子邮件",特别是"从Web调试工具栏查看".它说如果发送电子邮件和请求而不是重定向,您仍然可以使用'intercept_redirect'选项查看已发送的电子邮件.但是,没有关于如何查看使用AJAX请求发送的电子邮件的信息...
2.6根据这篇文章,我相信这样的功能已经实现了.但是我的大部分项目都在使用2.3,而且目前我正在使用诸如转储内容之类的脏东西来回应它Network在浏览器工具栏中的选项卡上查看它,但这对于测试目的而言非常糟糕.
我已经阅读过像这样的解决方案,但仍然没有关于电子邮件的信息.
也许有人有类似的问题?提前致谢.