しぃぶろぐ。

仕事とか技術関係のこと。他色々

とりあえずcakephpのチュートリアル見ながら交流サイトを作ってみるの巻。

開発しろよー。と内なる声に促されて。
とにかく構想中のものを形にするほうを優先することにしました。
メール分解⇒DB操作の部分はちょっと後回しにします。


というわけで。
cakephpのチュートリアルを見ながら、会員制コミュニティサイトを作る計画です。
このチュートリアル、分かりやすくていいですね。。。
もっと早く見ておけばよかった。。。orz
CakePHPのチュートリアルはここになります。
10.1 CakePHPブログチュートリアル

で、何を作るのか

Twitterで時々つぶやいていた、#dekiben を作ろうと思ってます。
ブログポータルに近いですかね?
まずはユーザー管理、記事を投稿・コメント、記事のお気に入り登録を実現させます(がんばる)。

CakePHPのインストールは省略

以前記事にまとめてあったので、インストール作業は省略します。
ただ、チュートリアルを見て一箇所やってなかったところがありました。。。orz
Security.saltの変更です。

  1. /app/config/core.phpをviで開く。
  2. /salt で編集箇所を探す。
  3. 適当な文字列を入れる。
  4. :wpで上書き保存して、welcomeファイルを開く

Security.saltを更新すると、以下のようなページが表示されます。

あと、/app/config/database.phpに、
'encoding' => 'utf8' をこっそり追加しました。

テーブルの追加

とりあえずチュートリアルにしたがってテーブルを追加します。
さくらのphpMyAdminを利用。
prefixを設定してあったので、忘れずにテーブル名の前にくっつけます。

モデルとコントローラーとビューの作成

/app/models の下に post.php を、
/app/controllers の下に posts_controller.php を、
/app/views の下に posts/index.ctp をチュートリアル通りに作ります。
FTPするのが面倒なので、全部viでやりました。
この段階で、http://example.sakura.ne.jp/app1/posts/index に接続すると、下の画面が表示されます。

リンクを押しても、まだアクションが定義されていないのでエラーページが出るだけです。

アクションを定義

記事詳細を見るアクションを定義します。
基本はチュートリアルそのままでOKです。
が。
indexのビューがちょっと間違っているので、
URL直接打ち込むとページが表示されますが、
indexのリンクからは「定義されていないの」のエラーが出ます。
以下のように変更してください。

<?php echo $html->link($post['Post']['title'], "/posts/view/".$post['Post']['id']); ?>

<?php echo $html->link($post['Post']['title'], "/view/".$post['Post']['id']); ?>

そうすると、リンクが正常に機能して以下のようなページが表示されます。


とりあえず、以上。
次は追加・更新・削除のアクションの追加ですね。