我试图了解安装和使用CakePHP 2.x的Uploader插件的文档,该插件处理文件的上传。我有几个问题希望有人可以帮助我。关于这个主题Installing Uploader Plugin for CakePHP 2.x有一个很好的主题,但我想清除一些在线程中不明确的东西(至少对我来说)。
作者页面:http://milesj.me/code/cakephp/uploader
如果您想手动保存(没有行为),是否正确,安装如下:
CakePlugin::load('Uploader'); // THIS GOES INTO THE BOOTSTRAP.PHP FILE PER THE REFERENCED QUESTION ANSWER
App::import('Vendor', 'Uploader.Uploader'); // THIS GOES INTO CONTROLLER PER THE REFERENCED QUESTION ANSWER
$this->Uploader = new Uploader(); // THIS GOES INTO CONTROLLER PER THE REFERENCED QUESTION ANSWER
是吗?
但是,如果你正在使用这种行为,那么你不需要做任何上面的安装,而只是在模型中做:
public $actsAs = array('Uploader.Attachment');
是吗?
文档的第2章是否仅适用于手动使用插件的情况?否则,仅在模型中为每章3配置模型行为。
最后一个问题:如果我理解正确(我仍然是CakePHP的新手),如果我使用该行为自动执行保存,每当我将文件上传到该模型时,它将自动保存文件在正确的文件夹中,我无需做任何事情,并在指向保存位置的$data
变量中添加引用?
提前致谢!
答案 0 :(得分:2)
我很难让这个工作和理解整个插件和行为的事情,所以我认为值得快速分享我在一个关于如何通过模型安装,实现和使用Uploader插件的简短视频中学到的东西行为。
http://www.youtube.com/watch?v=lMNUOz8wqzE
希望你觉得它有用。要回答上面的问题,我基本上只需要:
CakePlugin::load('Uploader');
可以在App / Config / public $actsAs =
array('Uploader.Attachment');
调用模型中的行为,但使用相关选项
构造在插件中的附件行为中定义的beforeSave回调函数将负责其余部分。
上传文件似乎是如此平凡的任务,所以我认为通过一个行为来做这件事是非常合适的,而且我不想根据我自己的初学者水平编写我自己的行为,所以Miles有好处,特别是因为他是一位经验丰富的开发人员。在阅读之后,使用控制器代码上传文件是不可取的,使用专家开发人员插件可能是最佳选择。