0

我试图了解有关安装和使用此用于处理文件上传的 CakePHP 2.x 上传器插件的文档。我有几个问题希望有人能帮助我。关于这个主题有一个很好的主题,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指向保存位置的变量中?

提前致谢!

4

1 回答 1

2

我很难让它工作并理解整个插件和行为的事情,所以我认为值得快速分享我在一个关于如何通过模型行为安装、实现和使用 Uploader 插件的短视频中学到的东西。

http://www.youtube.com/watch?v=lMNOUOz8wqzE

希望对您有所帮助。要回答我上面的问题,我基本上只需要:

  1. 包含CakePlugin::load('Uploader');在可以在 App/Config/ 下找到的 bootstrap.php 文件中
  2. public $actsAs = array('Uploader.Attachment');根据配置的相关选项调用我的模型内部的行为
  3. 然后通过我的控制器保存到模型中,并在模型中包含 $actsAs 变量

在插件的附件行为中定义的 beforeSave 回调函数将负责其余的工作。

上传文件似乎是一项平凡的任务,所以我认为通过行为来完成它是非常合适的,而且鉴于我自己的初学者水平,我不想写自己的行为,所以迈尔斯有很好,特别是因为他是经验丰富的开发人员。阅读后,使用控制器代码上传文件不是要走的路,使用专家开发者插件可能是要走的路。

于 2012-07-08T22:19:42.157 回答