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 アプリケーションをクラッシュさせることはないと思います。代わりに、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 に答える