我想在Symfony2中上传多个文件。我试图访问以下请求对象,但我无法获取参数属性。我如何逐一到达这些文件来上传它们。访问PHP Array对象受保护的属性
的错误,我得到:
Fatal error: Cannot access protected property Symfony\Component\HttpFoundation\FileBag::$parameters in /var/www/File/src/Webmuch/FileBundle/Entity/File.php on line 66
请求对象:
Symfony\Component\HttpFoundation\FileBag Object
(
[parameters:protected] => Array
(
[file] => Array
(
[0] => Symfony\Component\HttpFoundation\File\UploadedFile Object
(
[test:Symfony\Component\HttpFoundation\File\UploadedFile:private] =>
[originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => FLB1.jpg
[mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/jpeg
[size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 13584
[error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
[pathName:SplFileInfo:private] => /tmp/phpzdaQgW
[fileName:SplFileInfo:private] => phpzdaQgW
)
[1] => Symfony\Component\HttpFoundation\File\UploadedFile Object
(
[test:Symfony\Component\HttpFoundation\File\UploadedFile:private] =>
[originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => FLB2.gif
[mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/gif
[size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 5193
[error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
[pathName:SplFileInfo:private] => /tmp/phpNUXho7
[fileName:SplFileInfo:private] => phpNUXho7
)
)
)
)
请帮我找出这个对象的访问。另外如果有人有更好的方式来上传Symfony2中的文件。
但是,我们如何访问私有财产没有教义? – Sekai
学说?我在答案中的任何地方都没有提到教义。你能否试着让你的问题更清楚? –
是的!事情是这些是受保护的属性,即使您使用 $ request-> files-> get('file');这并不意味着你可以访问这些属性,因为它们是受保护的,唯一的方法是在实体类中编写getter。这就是文档所说的。但如果您有其他意见,我会很高兴听到它 – Sekai