0

我想我在 Symfony 中发现了一个奇怪的问题。

这是我的上传案例表格:

<?php

class UploadCaseForm extends sfForm {
    public function configure()
     {
        $this->setWidgets ( array ('Documents' => new sfWidgetFormInputFile ( ) ));
        $this->widgetSchema->setNameFormat('UploadCase[%s]');
        $this->setValidators(array(
        'Documents'=>new sfValidatorFile ()
        ));



    }
}
?>

动作类是这样的:

public function executeIndex(sfWebRequest $request) {

    if ($this->getRequest ()->getMethod () == sfRequest::GET) {
        $this->form = new UploadCaseForm ( );
    } else if ($this->getRequest ()->getMethod () == sfRequest::POST) {
        $this->form->bind ($request->getParameters('UploadCase'), $request->getFiles ( 'UploadCase' ) );


    }

}

我希望在我上传文件后,$request->getParameter('UploadCase')应该返回 NULL,但不会导致 Web 应用程序崩溃。相反,网络应用程序崩溃了。

我做错了什么吗?

4

1 回答 1

0

这是一个错误,我认为。该错误是因为$request->getParameter('UploadCase')只有1个文件上传,没有其他字段。所以下面的语句将返回 null。

($request->getParameter('UploadCase'));

这将导致声明

$this->form->bind ($request->getParameters('UploadCase'), $request->getFiles ( 'UploadCase' ) );

像没有明天一样崩溃。

于 2009-03-27T11:06:49.770 回答