CakePHP2.x対応 ファイルアップロード機能追加プラグイン
検索中心のWebサイト開発を行っており、表題の機能が欲しくて調査。この2つのどちからになりそうです。プラグインを語れるぐらい使い込んではいませんが、まとめてみます。
# 数多くのプラグインが出ているのがメジャーなフレームワークを使うメリットだなぁ(もっとも、採用する責任は、ユーザー側にありますので、決断は必須です)
ファイルアップロード プラグイン
過去にはMedia Pluginとかいろいろあったみたいですが、この2つが2.xにも対応していて、良さそうな感じです。
それぞれ細かな点は、プラグイン別にまとめました。
Cakephp-upload
- cakephp-upload
- UploadBehavior : 本体
- FileImportBehavior : UploadBehavior中 1メソッドをオーバーライド
- FileGrabberBehavior : 未実装?
こちらのポストを参考に使ってみてます。
このプラグインの特徴としては、Behavior(ビヘイビア:CakePHPでモデルを拡張する仕組み)だけの提供でHelper(ヘルパー:CakePHPでビューを拡張する仕組み)がないということ。アップロードしたファイルの参照方法についてはReadme.mdにも記載がないので、アップロードに特化してる印象を受けました。
ファイルの保管先については、Behaviorの設定で指定が出来るので、そのルールを覚えた上で、自身で参照というポリシーと思われます。
- 保管先のデフォルト (path)
- '{ROOT}webroot{DS}files{DS}{model}{DS}{field}{DS}'
ファイル管理専用テーブル提供可能、サムネイルの作成方法を、ImageMagickとGD(php)と切り替えできる、ImageMagick使うとPDFのサムネイルが作れる、など、気が利いてると思いました。
# Looking for Maintainers ってGitHubに書いてあるので、メンテ大変なんだろうか??
UploadPack
次のポストを読んで、こっちもいいなぁと思案中。日本語でかなり細かく説明されてるプラグインって、安心して使えそうで。
特徴は、Behavior と Helper がセットなところ。参照するときにも手軽な印象を受けます。
また、画像を保存したいモデルに1カラムを追加するだけというのも、手軽な感じ。追加カラムを増やすと、サイズとかも保存してくれるとのこと。
2008年ぐらいにCakePHP1.2をターゲットに開発が始まってるようなので、結構古株なのかもしれませんね。日本語のポストも、1.3のときなどにもありました。
その他
慣れてる人にはあたりまえなのかもですが、$actsAsなどのスペルをミスった時、気づくすべがないのですね。結構時間を取られてしまいました(苦笑)