2011年1月30日日曜日

CakePHPでイラストのギャラリーサイトを作りたい

CakePHPで作るアレとして、題材を考えた。
イラストのギャラリーサイト、要は作家のポートフォリオですね。

ところで以前からWordPressをよく使っていて、というかPHPを始めたのもWordPressを触り始めたからなんだけど、友人のイラストレーターの為に(美術系はマシンに弱い人が多い!)彼のCMSを作ってあげたのがきっかけ。
で、それはもう随分前のことでそろそろリニューアルでもせなあかんなと思っていたのでちょうどいい機会。
CMSとして機能するWebアプリケーションを作ろう思う。

思いつく要件をざっとあげてみよう。

  1. 作品画像がアップできる
  2. 作品にキャプション、サイズ、画材などの情報を付けられる
  3. ユーザが作品にコメントできる
  4. ニュースを投稿できる(個展のお知らせとか)
  5. 作家のプロフィールページ
  6. リンクページ
1、2、4は管理者の機能、3はどうかな…twitterを使うのが今風でいいかもしれない。
4はもしかするとメルマガ的なことが出来るといいのかも。使いこなしてくれるかわからないけどやってみる価値はありそう。
2011年1月29日土曜日

CakePHP1.3勉強中。

とりあえずMVCのControllerとViewの使い方は理解出来た。ここら辺はファイル(*_controller.php と *.ctp)を置くディレクリとアクションの対応とかを覚えるだけだから何回か作ってみれば自然と身に付く。
ただ最初は(フレームワークに触れるのが初めてなのもあるけど)手順がややこしくてちゃぶだいひっくり返したなった…。
要はこうゆうこと

  1. 作りたいページの名前を考える > http://hoge.com/foo
  2. foo_controller.php を app/controllers/ に保存
  3. AppController を継承して FooController クラスを定義する(中身は取りあえず $name $uses index()だけ)
  4. app/views/ にfooというフォルダをつくり index.ctp を作成(中身は空)。

ここまでやれば中身の無いページができる。

つぎに「cake本体」「app」「webroot」をバラバラにして使うやり方も以下を参考にしたら出来た。


自分の環境はMacOSXにXAMPPをインストールして、それぞれのファイル群をeclipseでプロジェクト管理している。(eclipseのワークスペースはxamppのhtdocsに設定)

cake本体を /Applications/XAMPP/xamppfiles/cake に、
appは /Applications/XAMPP/xamppfiles/apps を作成して app1 にした。
あとは htdocs の中に app1 に対応する webroot を配置するだけだけど、これもフォルダ名を app1 とかにしちゃうと eclipse でプロジェクト名がかぶってしまうので、site01 にした。
こうすると http://localhost/site01/~ になるので複数サイトの構築が見やすくていい感じ。
(ちなみに上記の作業をしたら、zipから展開したcakeフォルダに plugin とか vender とか諸々があまってたので全部cake本体と同じディレクトリに入れといた)

さぁこれで準備は整った。なに作ろうかな。