小编Ash*_*thi的帖子

在Symfony2表单构建器中允许选择字段类型的所有值

我有一段时间的问题,我已经在这个主题上阅读了很多类似的问题,但在我的情况下无法实现答案.

我有一个用Ajax填充的select字段.所以在我的表单构建器中我有这个代码:

VilleType.php

/**
 * @ORM\Entity(repositoryClass="MDB\AnnonceBundle\Entity\RegisterRepository")
 */
class VilleType extends AbstractType {

    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options) {
        $builder
                ->add('nomComplet', 'choice'
        );
    }

    /**
     * @param OptionsResolverInterface $resolver
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver) {
        $resolver->setDefaults(array(
            'data_class' => 'MDB\AdresseBundle\Entity\Ville'
        ));
    }

    /**
     * @return string
     */
    public function getName() {
        return 'mdb_adressebundle_ville';
    }

}
Run Code Online (Sandbox Code Playgroud)

但是我的形式永远不会被证实,因为它们在这个选择领域没有价值.但是我无法在内部添加值因为我事先不知道用户将作为值输入什么.

所以我的问题是如何禁用Symfony对此字段的验证.或者允许它接受所有价值.

谢谢

编辑

在这里,我尝试了一种新方法.我使用事件监听器来修改我的字段,其值大于用户提交的值.

   public function buildForm(FormBuilderInterface $builder, array $options) {

        $builder
                ->add('nomComplet', 'choice');


        $builder->get('nomComplet')->addEventListener( …
Run Code Online (Sandbox Code Playgroud)

php forms choicefield formbuilder symfony

7
推荐指数
1
解决办法
4983
查看次数

Symfony2懒人服务何时使用?

我有一个关于symfony2懒惰服务的问题.什么时候应该使用懒惰的服务,何时应该避免使用它们?如果我们使用懒惰服务,是否有任何开销?

php dependency-injection lazy-loading proxies symfony

6
推荐指数
1
解决办法
2648
查看次数

gm:如果图像大于1000px,则调整图像大小

我试图通过gmin 进行一些图像处理collectionFS,因为我需要读取一个流并将其写回同一个文件,我必须使用一个临时文件 - 如下所示.

我想检查图像是否宽于1000px.在这种情况下,它应该重新调整为1000px.

不幸的是,这不起作用,因为我得到了错误TypeError: Object [object Object] has no method 'pipe'Error: gm().stream() or gm().write() with a non-readable stream.

var fs       = Npm.require('fs'),
    file     = Images.findOne({ _id: fileId }),
    read     = file.createReadStream('public'),
    filename = '/tmp/gm_' + Date.now(),
    temp     = fs.createWriteStream(filename);

if (method == 'resize') {
    // resize to 1000px, if image is bigger
    gmread = gm(read);
    gmread.size(function(err, size){
        if(size.width > 1000) {
            gmread.resize('1000').stream();
        }
    });
}

gmread.on('end', Meteor.bindEnvironment(function (error, result) {
    if …
Run Code Online (Sandbox Code Playgroud)

javascript graphicsmagick meteor collectionfs

6
推荐指数
1
解决办法
333
查看次数

我怎样才能在smarty中使用array_merge?

我有两个数组$array1,$array2我想将它们合并到smarty模板中以便进一步处理.我不想在PHP中这样做,因为我也必须单独使用它们,我如何在smarty tpl中合并两个数组?

php smarty

3
推荐指数
1
解决办法
2064
查看次数

使用UploadedFile上传文件类型问题

UploadedFile在symfony2中使用类来上传图像文件.我已经允许MIME类型的图像image/jpgimage/png.当我将png文件从我的系统上传到服务器时,其mime类型会自动更改.我知道它改变了,因为当我发出这个命令:

file --mime-type /home/mysuer/img.png
Run Code Online (Sandbox Code Playgroud)

它给了我这个:

home/myuser/img.png: image/png
Run Code Online (Sandbox Code Playgroud)

但是当我上传文件和打印UploadedFile对象时,它会提供以下输出:

Array
(
    [media] => Symfony\Component\HttpFoundation\File\UploadedFile Object
        (
            [test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 
            [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => img.png
            [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => application/octet-stream
            [size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 1246
            [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
            [pathName:SplFileInfo:private] => /tmp/phpivgnne
            [fileName:SplFileInfo:private] => phpivgnne
        )

)
Run Code Online (Sandbox Code Playgroud)

任何人都可以说明什么是错的?

编辑

这是我的代码:

public function postFileAction(Request $request)
{
    print_r($request->files->all());//Prints All files


    $image = $request->files->get('media');
    echo $image->getClientMimeType();exit; //Mime Type Information

    if (empty($image)) {
        throw new FileException('Invalid File, Please Select a Valid File.');
    }

    $uploader = $this->get('application.file_uploader'); …
Run Code Online (Sandbox Code Playgroud)

php file-upload symfony mime-types is-uploaded-file

2
推荐指数
1
解决办法
8139
查看次数