Tag: symfony

如何在树枝函数中使用绝对path

我有一个Symfony2(2.2)的应用程序。 当我想发送邮件时,我遇到了path问题,这些path都是相对path,显然不适用于邮件 用于呈现我正在使用的path: <a href="{{ path('route_name', {'param' : value}) }}">A link</a> 和资产: <img src="{{ asset('bundle/myname/img/image.gif') }}" alt="Title"/> 前面的例子工作正常,但path是相对的,因此我需要追加域。 我可以做这样的事情: <a href="http://domain.com{{ path('route_name', {'param' => param1}) }}">A link</a> 但这不是我的问题的最佳解决scheme,因为我有不同的域名。 更新 我find了具有url函数的path的解决scheme,但我仍然需要资产的解决scheme。

在ajax提交上禁用symfony 2 csrf令牌保护

我build立一个移动应用程序通过web服务与我的symfony2应用程序交谈我无法find一种方法来禁用特定的控制器/动作的csrf保护 我想发布注册数据到这个动作,并使用sf2表单validation。 我不会在我的移动应用程序中调用该表单 无法更改容器参数,抛出一个exception,因为它是一个冻结的参数… 我不想为整个应用程序禁用表单保护 任何线索? 谢谢 ! 更新:用symfony 2.1.x /** * {@inheritdoc} */ public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array( 'csrf_protection' => false, )); }

在Doctrine 2中指定小数字段types时,规模和精度是什么意思?

我创build了一个十进制字段,以在Doctrine2中为我的Symfony2应用程序保存财务数据。 目前看起来像这样: /** * @ORM\Column(type="decimal") */ protected $rate; 当我input一个值,并且所述值被持久化到数据库时,它被舍入到一个整数。 我猜我需要设置字段的精度和缩放types,但是我需要某个人来解释他们到底做了什么? Doctrine2文档说: 精度:十进制(精确数字)列的精度(仅适用于小数列) scale:小数(精确数字)列的比例(仅适用于小数列) 但是这并没有告诉我很多。 我猜精度是四舍五入的小数位数,所以我认为应该是2,但是什么是规模? 规模是有意义的数字? 我的领域宣言应该是这个吗? : – /** * @ORM\Column(type="decimal", precision=2, scale=4) */ protected $rate;

内存泄漏Symfony2 Doctrine2 /超出内存限制

实际上我对symfony2和doctrine2的组合有很多麻烦。 我必须处理大量的数据集(大约2-3百万次的写入和读取),并且需要做很多额外的工作以避免内存不足。 我想出了两个要点,即“泄漏”内存(他们实际上不是真正的泄漏,而是分配很多) Entitymanager实体存储(我不知道这个真实的名字),它似乎像保持所有处理entites,你必须清除这个存储regulary $ entityManager->明确的() Doctrine QueryCache – 它caching所有使用的查询,我发现唯一的configuration是你能够决定你想要使用什么types的caching。 我没有find一个全局禁用既不是一个有用的标志为每个查询来禁用它。 所以通常使用函数禁用每个查询对象 $ qb = $ repository-> createQueryBuilder($ a); $ query = $ qb-> getQuery(); $查询 – > useQueryCache(假); $查询 – >执行(); 所以..这就是我现在想通了..我的问题是: 有没有简单的方法来拒绝Entitymanagerstorage的一些对象? 有没有办法在entitymanager中设置querycache的使用? 我可以在symonfony教义configuration中configuration这个caching行为吗? 如果有人对我有一些不错的提示,会很酷。否则,这可能会帮助一些菜鸟。 CYA

如何使用break或在Twig模板中的for循环继续?

我尝试使用一个简单的循环,在我的真实代码中,这个循环更复杂,我需要break这个迭代: {% for post in posts %} {% if post.id == 10 %} {# break #} {% endif %} <h2>{{ post.heading }}</h2> {% endfor %} 我如何使用break行为或在Twig中continue PHP控制结构?

表单标签symfony上的Id属性

我想在我的symfony2表单上定义一个id属性。 我已经尝试过在我的树枝模板中: {{ form_start(form, {'id': 'form_person_edit'}) }} 但它似乎不工作。

Symfony2 – 强制文件下载

我试图在用户点击下载链接时下载文件。 在控制器中: $response = new Response(); $response->headers->set('Content-type', 'application/octect-stream'); $response->headers->set('Content-Disposition', sprintf('attachment; filename="%s"', $filename)); $response->headers->set('Content-Length', filesize($filename)); return $response; 这是打开对话框来保存文件,但它说,该文件是0字节。 并将其更改为: $response = new Response(); $response->headers->set('Content-type', 'application/octect-stream'); $response->headers->set('Content-Disposition', sprintf('attachment; filename="%s"', $filename)); $response->headers->set('Content-Length', filesize($filename)); $response->headers->set('Content-Transfer-Encoding', 'binary'); $response->setContent(readfile($filename)); return $response; 我得到了一堆奇怪的字符,而不是文件下载对话框。 最后,将“setContent”行切换到: $response->setContent(file_get_contents($filename)); 它返回一个PHP错误: 致命错误:允许的内存大小… 任何线索如何实现这一目标? 我以前在PHP(没有MVC)做过,但我不知道什么可以通过Symfony2做到这一点… 也许解决scheme是在PHP.INI中设置memory_limit,但我想这不是最好的做法…

Symfony2停止Composer将parameters.yml.dist安装到parameters.yml中

在symfony 2.3中新增了composer install脚本,还将parameters.yml.dist文件的内容复制到了parameters.yml文件中, 这里进一步解释。 我的问题是,我怎样才能阻止composer php执行这个动作?

从TWIG模板访问会话

我在网上search了很多如何从TWIG模板访问全局$_SESSION数组,并发现这个: {{app.session.get('index')}} ,但是当我调用它时,它返回一个空的string。 我有一个$_SESSION['filter']['accounts'] ,当调用{{app.session.get('filter').accounts}}时,出现这个错误: Item "accounts" for "" does not exist 。 我做错了什么?

如何使用从composer php安装的phpunit?

我想用phpunit开始我的symfony 2应用程序的unit testing。 我使用composer php安装phpunit(每个项目的依赖)。 http://www.phpunit.de/manual/current/en/installation.html 我现在如何在Zend Server上运行phpunit命令? 我没有安装梨。