草庐IT

symfony-components

全部标签

php - Symfony2,如何将参数发送到所有 View ?

我需要使用Symfony2向我的所有View(twig模板)发送一个参数。每个View都扩展了一个特殊的View:base.html.twig,所以我想我只需要将这个参数发送到这个基本View即可。但是我该怎么做呢?这是我在我的php文件中获取此参数的方式:$svn=File('.svn/entries');$svnrev=$svn[3];表示当前修订号。有没有办法在.yml中检索这个变量? 最佳答案 您应该使用twig扩展注册一个全局变量。类//src/Acme/YourBundle/Twig/SvnExtension.phpna

php - Symfony 2 和 Twig 缓存——它们是一样的吗?

我的问题是Symfony2缓存机制和Twig缓存机制相同吗?假设我决定在我的MVC框架中使用Twig,我会拥有Symfony2使用的相同缓存机制吗?我知道Symfony2和Twig都是由Fabien创建的。但我不知道Symfony2是只使用Twig缓存还是还有更多?所以我希望你能理解这个问题。Symfony2是否使用Twig作为缓存?如果不是,Symfony2和Twig缓存之间有什么区别? 最佳答案 不确定完整的答案,但symfony和twig必须使用单独的缓存机制,因为您不会被迫在symfony中使用twig,但缓存仍然有效。更多

php - 覆盖 symfony radio 部件

默认单选小部件创建以下结构:......我找到了radio_widgetblock,但它本身只包含一个输入。所以我只能在那里自定义这一部分:但我不明白如何改变整个radio选择字段的结构?另外,有人知道,为什么symfony在输入中添加display:none吗?谢谢。 最佳答案 如果您使用RadioFieldType,您可以通过调用form_widget(form.yourField)仅自定义radio_widgetblock的input部分,它只显示,{%blockradio_widget%}{%spaceless%}{%end

php - 在 symfony 2 功能测试中找不到路由

我正在尝试编写一个symfony2功能测试。这是我的代码:ul>li>a';$client=static::createClient();$crawler=$client->request('GET','/catalog/');$this->assertTrue($client->getResponse()->getStatusCode()=='200');$countCategories=$crawler->filter($domCategoryLinksExpr)->count();$this->assertTrue($crawler->filter($domCategoryLin

php - 在 Symfony 中使用 Doctrine 创建表

在MySQL中创建了一个“电机”数据库后,我在Symfony中使用以下命令配置了该数据库:$phpsymfonyconfigure:database"mysql:host=localhost;dbname=motor"root在appname/config/doctrine/下,我有一个schema.yml文件。在这个文件中我定义了下表:Car:actAs:{Timestampable:~}columns:brand:{type:string(255),notnull:true}model:{type:string(255),notnull:true}version:{type:str

php - Symfony2 在字段旁边和表单顶部显示表单错误

在Symfony2中,我将如何使用twig模板在每个字段旁边和表单顶部显示表单错误?目前我只能通过在每个字段上将error_bubbling设置为true或false来设法获得一个或另一个...谢谢 最佳答案 我可以建议您的一个解决方案是对您的对象进行第二次显式验证并将错误发送到您的模板。这样,第一个隐式验证是在表单对象内完成的,错误被绑定(bind)到字段(不要使用错误冒泡)。第二次验证将为您提供一个错误迭代器,您可以将该迭代器传递给您的模板以显示在表单顶部。然后,您将在每个字段旁边以及表格顶部看到错误。我建议你这个基于thisS

php - 如果用户角色的 session 已在 symfony 2 中设置好,如何从登录操作重定向

我正在用symfony2开发一个网络应用程序。我已经使用symfony2核心安全实现了登录和注销。我已经使用用户界面进行身份验证/授权。现在我想检查登录操作中的条件,如果用户已准备好登录,则重定向到用户仪表板。有人可以建议我怎么做吗? 最佳答案 以下是其中一种方法:publicfunctionloginAction(){if($this->get('security.context')->isGranted('ROLE_USER')){return$this->redirect($this->generateUrl('dashboa

php - symfony 中非共享服务的目的是什么?

我明白,如果我使用非共享服务,我每次请求该服务时都会获得新实例。这将允许我在此类服务中安全地使用类属性,如果我在共享服务上这样做是不明智的——这有点类似于并发问题。但是,与普通的旧php对象相比,非共享服务有什么优势?我只能想到开箱即用地获取服务对象内部的DI容器访问权限,但这不是什么大问题,因为无论如何我都可以将我需要的内容传递给POPO的构造函数或setter。我错过了什么吗? 最佳答案 就我个人而言,归根结底是方便。是的,您可以使用简单的对象获得几乎相同的功能。但特别是在需要大量依赖项的情况下,将所有依赖项传递给您需要的每个实

php - 在 Symfony 中验证可选属性

我喜欢像这样将Symfony中的验证注释与我的大型实体模型一起使用:/***@varstring*@ORM\Column(type="string",length=255,nullable=false,name="name")**@Assert\NotBlank(message="Namemustnotbeempty")*@Assert\Length(min=2,minMessage="Namemustbeatleast2characterslong",max=255,maxMessage="Namemustnotbelongerthan255characters")*/private

php - Symfony + Doctrine 与链接表的多对多关系

情况:我有3个表:Student、Address、StudentAddressLink如下注意*不是确切的yaml文件,但你明白了Student:column:id:blahblahname:blahblahAddress:column:id:~street:~StudentAddressLink:column:id:~student_id:~address_id:~relations:Student:local:student_idforeign:idAddress:local:address_idforeign:id我想从Student对象获取相关的“AddressStreet”目