CodeIgniterの存在を知ってから、CakePHPを使うかCodeIgniterを使うかで悩んでおりますた。
どっちがアダクスにとって使いやすいフレームワークなのだろうかと…。
経験値でいえば、CakePHPでつ。(とは言っても2回ぐらい使ったことがある程度なのでつが…)
しかし、「
CodeIgniter 徹底入門」を読んで実際触ってみて、Codeigniterもなかなかよいという感じがすますた。
データベースとやりとりする際のmodelの記述が特にわかりやすい気がすますた。
なので、今回はCodeIgniterを使ってみようと思ったのでつ。
しかし…。
いきなりつまづきますた。
それは「
ファイルアップロードクラス」でつ。
これを使えば簡単にいけるかなーと楽な気持ちで臨んだのでつが、そうはいきませんですた(;´Д`)
テキストボックスとファイルアップロードの組合せのフォームで、テキストボックスは必須だけど、ファイルアップロードは必須じゃないってな具合にしようとした時に、うまくできませんですた…。
ファイルアップロードクラスは、「何らかの理由でファイルのアップロードができなかった場合はエラーを表示する」という仕様になっているのでは?…という気がすますた。
つまり、ファイルアップロードクラスを使っている場合、ファイルのアップロードは「必須」になる…という動きのような気がすますた。
直接ファイルアップロードクラスのソースをいじって、調整したりしましたが、何か気持ち悪くて途中でやめて元に戻しますた。
単純にファイルアップロード単体であれば、簡単にファイルアップロードができますた。
が、その場合もファイルアップロードの「新規登録」はできるのでつが、「更新(画像の差替え)」の時の方法がよくわからず…。
挫折…でつ。
や、やはりCakePHPでやっていこうかなぁ…とも思いますたが、否、今回はCodeigniterで行ってみようと思い直しますた。
ファイルアップロードクラスを使わず、手入力でファイルアップロードを実装してしまおう…ということに。
共通化できる部分はクラスにしてしまえばよいのでしょうけども、アダクス、まだまだそこまで理解できてないので、ソースコード直入れで実装進めまつw
あと1つ思ったのは、CakePHPでもそうなのでつが、「わざわざSmarty使わなくてもいいのかも?」ということでつ。
PHPは「ショートタグ」というやつがあるってことを、Codeigniterをいじって知りますた。
echoであれば「<?=$hoge>」だったり、ifとかforeach、forとかも「:」と「;」を使って「{」から「}」を記述しなくてもいけるってな感じでつ。
となると、ソースの可読性(?)としては、Smartyとそんなに変わらないんじゃないか?と思ったわけでつ。
でも、知らないよりは知ってる方がいいわけで、どちらも対応できるってのはよいことかと思いまつ。
まぁ、そんなこんなで今回はSmartyを使わない作戦でイグ!