我们有自己的Satis存储库,我们可以在那里存储我们自己的依赖项.这很好用.
但是如果开发人员使用的包不在我们自己的存储库中,那么Composer将从GitHub通过packagist.org获取它(作为后备).
但我们不想依赖packagist.org.应从我们自己的存储库下载所有依赖项.
我们想知道的是,Satis是否有可能从Packagist下载一个包,如果它还没有在本地可用,然后将其存储并自动添加到Satis自己的存储库中.
这样我们就不必手动将依赖项添加到Satis存储库.
我的UserBundle中有一个ProfileType表单(从SonataUserBundle扩展),在ProfileType表单中,我添加了一个子表单类型(AddressType())。
ProfileType
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('gender')
->add('firstname')
->add('lastname')
->add('middlename')
->add('dateOfBirth', 'birthday', array('required' => false))
->add('phone')
->add('address', new AddressType(), array('required' => false));
;
}
/**
* {@inheritdoc}
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => $this->class,
'validation_groups' => array('Profile', 'Address'),
'cascade_validation' => true,
));
}
Run Code Online (Sandbox Code Playgroud)
地址类型
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('postalcode')
->add('houseNumber')
->add('houseNumberAddition')
->add('street')
->add('city')
->add('country')
;
}
Run Code Online (Sandbox Code Playgroud)
在edit_profile_html.twig中,我想知道在AddressType中是否存在任何错误。但是form.address.vars.errors不会返回AddressType中无效元素的数量。如果我专门检查错误在地址类型一个元素,它不会返回正确的计数。
因此:form.address.vars.errors.length为0,但form.address.postalcode.var.errors.length有效。但是我不想一一检查所有元素。
<fieldset …Run Code Online (Sandbox Code Playgroud)