AWS / PHP / Python ちょいメモ

amazon web service , PHP, Python を使ったときのメモ。日本語でググってもわからなかった事を中心に。

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などのスペルをミスった時、気づくすべがないのですね。結構時間を取られてしまいました(苦笑)