一人もくもく会 α verでサービス開始しました。

CakePHP3のシンプルなアップロードプラグインを作成

CakePHP3用のシンプルなアップロードプラグインを作成した。

GitHub - dala00/cakephp-simple-upload

そもそもCakePHP3用のアップロードプラグインは有名なものが存在する。

GitHub - josegonzalez/cakephp-upload: CakePHP3: handle file uploading sans ridiculous automagic

ではなぜ作成したのかというと、現在のバージョンではデータを新規追加する場合にprimaryKeyによるフォルダ作成をサポートしていないため。 そうなるとファイル名が被った場合に問題が発生する場合がある。

なんとしてもprimaryKeyによる置き換えを行いたかったのだが、どうやらもう作者が面倒で対応できないらしい。 そのためやむなく最低限の機能のアップロードプラグインを作成することにした。

詳しくは分からないがなぜかbeforeSaveで画像をアップしているのが原因のようなのでafterSaveで保存するようにした。 あとは丁度確認画面を挟むアップロードを対応中だったのでそれもプラグインでできるようにし、 さらに前から面倒だと思っていたURLやimgタグの出力も内蔵のヘルパーで対応するようにした。

微妙にちょっとした機能が足りないように感じるのでまたアップデートするか、 誰かにpull requestを送ってもらいたい。 むしろ本家のプラグインの方でinsert時のprimaryKeyのpull requestを誰か送って欲しい。