Tag: symfony

如何将资源库注入Symfony2中的服务?

我需要注入两个对象到ImageService 。 其中之一是Repository/ImageRepository一个实例,我得到这样的: $image_repository = $container->get('doctrine.odm.mongodb') ->getRepository('MycompanyMainBundle:Image'); 那么如何在我的services.yml中声明呢? 这是服务: namespace Mycompany\MainBundle\Service\Image; use Doctrine\ODM\MongoDB\DocumentRepository; class ImageManager { private $manipulator; private $repository; public function __construct(ImageManipulatorInterface $manipulator, DocumentRepository $repository) { $this->manipulator = $manipulator; $this->repository = $repository; } public function findAll() { return $this->repository->findAll(); } public function createThumbnail(ImageInterface $image) { return $this->manipulator->resize($image->source(), 300, 200); } }

Symfony2 – validation不适用于embedded式表单types

我有一个组合两个实体(用户和configuration文件)的表单。 validation似乎在来自用户实体的表单的第一部分上工作,并且是表单的基础。 ProfileType包含在UserType中。 表单呈现正确,并显示正确的信息,所以它似乎正确连接到configuration文件实体。 这只是在ProfileType上打破的validation。 任何想法,为什么一个部分将validation,而另一个不会? 代码如下: Validation.yml DEMO\DemoBundle\Entity\User\Profile: properties: address1: – NotBlank: { groups: [profile] } name: – NotBlank: { groups: [profile] } companyName: – NotBlank: { groups: [profile] } DEMO\DemoBundle\Entity\User\User: properties: username: – NotBlank: groups: profile message: Username cannot be left blank. email: – NotBlank: groups: profile message: Email cannot be left blank […]

如何在Symfony2控制器中获取表单值

我正在Symfony2上使用以下控制器代码的login表单 public function loginAction(Request $request) { $user = new SiteUser(); $form = $this->createForm(new LoginType(), $user); if ($request->getMethod() == 'POST') { $form->bindRequest($request); $data = $form->getValues(); // Need to do something with the data here } return $this->render('GDSiteBundle::header.html.twig', array('form' => $form->createView())); } 但是我收到以下警告: 警告:array_replace_recursive()[function.array-replace-recursive]:参数#1不是\ vendor \ symfony \ src \ Symfony \ Component \ Form \ Form.php中的一个数组593 […]

获取网站的基本url,并在Symfony 2中全局传递给树枝

我正在从CodeIgniter切换到Symfony 2.有人可以给我一个例子,如何: 获取基础url(没有路由特定部分的url) 全局地将这个variables传递给树枝包,这样我就可以在每个模板中使用它。

Symfony2实体集合 – 如何添加/删除与现有实体的关联?

1.快速浏览 1.1目标 我想要实现的是一个创build/编辑用户工具。 可编辑的字段是: 用户名(types:文本) plainPassword(types:密码) 电子邮件(types:电邮) 组(types:集合) avoRoles(types:集合) 注意:最后一个属性没有命名为$ roles,因为我的User类正在扩展FOSUserBundle的User类,覆盖angular色带来了更多的问题。 为了避免它们,我决定将我的angular色集合存储在$ avoRoles下 。 1.2用户界面 我的模板由两部分组成: 用户表单 表显示$ userRepository-> findAllRolesExceptOwnedByUser($ user); 注意:findAllRolesExceptOwnedByUser()是一个自定义存储库函数,返回所有angular色的子集(尚未分配给$ user的子集)。 1.3所需的function 1.3.1添加angular色: 当用户单击angular色表中的“+”(添加)button时 然后 jquery从Roles表中删除该行 和 jQuery的增加新的列表项到用户窗体(avoRoles列表) 1.3.2删除angular色: 当用户单击“用户”窗体中的“x”(删除)button(avoRoles列表) 然后 jquery从用户窗体(avoRoles列表)中删除该列表项 和 jquery添加新行到angular色表 1.3.3保存更改: 当用户点击“Zapisz”(保存)button THEN用户表单提交所有字段(用户名,密码,电子邮件,avoRoles,组) 并将avoRoles作为angular色实体的ArrayCollection保存(ManyToMany关系) 并将组保存为angular色实体的ArrayCollection(ManyToMany关系) 注意:只能将现有的angular色和组分配给用户。 如果由于任何原因,他们没有find表格不应该validation。 2.代码 在本节中,我将介绍或简要描述此操作背后的代码。 如果描述不够,你需要看到代码告诉我,我会粘贴它。 我并不是把所有东西都粘贴在一起,以避免垃圾邮件给你带来不必要的代码。 2.1用户类 我的用户类扩展了FOSUserBundle用户类。 namespace Avocode\UserBundle\Entity; use FOS\UserBundle\Entity\User as BaseUser; […]

Symfony2设置默认select字段select

我正在以下面的方式创build一个表单: $form = $this->createFormBuilder($breed) ->add('species', 'entity', array( 'class' => 'BFPEduBundle:Item', 'property' => 'name', 'query_builder' => function(ItemRepository $er){ return $er->createQueryBuilder('i') ->where("i.type = 'species'") ->orderBy('i.name', 'ASC'); })) ->add('breed', 'text', array('required'=>true)) ->add('size', 'textarea', array('required' => false)) ->getForm() 我如何设置物种列表框的默认值? 谢谢你的回应,我很抱歉,我想我应该改说我的问题。 一旦我有从模型中检索的值,如何将该值设置为SELECTED =“yes”作为物种select列表中的相应值? 所以,从TWIG视图中select选项输出将如下所示: <option value="174" selected="yes">Dog</option>

如何检查用户是否在控制器内部loginSymfony2?

我在这里读到了如何通过基于Symfony2的网站的树枝模板来检查用户的login状态。 但是,我需要知道如何检查用户是否从控制器内部login。 我很确定下面的代码是正确的: $user = $this->get('security.context')->getToken()->getUser(); 但它总是返回一些东西,例如login用户或匿名用户。 任何想法? 提前致谢。

添加错误到Symfony 2表单元素

我在我的控制器中检查一些validation。 而我想添加错误到我的表单失败的特定元素。 我的表单: use Symfony\Component\Form\FormError; // … $config = new Config(); $form = $this->createFormBuilder($config) ->add('googleMapKey', 'text', array('label' => 'Google Map key')) ->add('locationRadius', 'text', array('label' => 'Location radius (km)')) ->getForm(); // … $form->addError(new FormError('error message')); addError()方法添加错误形成,而不是元素。 我怎样才能给locationRadius元素添加一个错误?

如何知道我有哪个版本的Symfony?

我知道我已经下载了一个Symfony2项目并开始使用,但是我已经多次更新了我的供应商,我想知道我有哪个版本的symfony 任何想法 ?

资产:转储和资产之间的区别:安装

在Symfony2中, assetic:dump和assets:install什么区别assets:install ? 在什么情况下应该使用这些命令中的每一个,以什么顺序(如果顺序是相关的)?