閲覧総計:4485  (本日:1  昨日:0)

CakePHPへの入門の定番中の定番、CakePHP1.2公式マニュアルに掲載されている「ブロ
グチュートリアル」をやってみた。 08/12/30
http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル

blog_index画面.JPGblog_view画面.JPGblog_edit画面.JPG

「ブログチュートリアル」はインターネット上に、ビデオ(全190分)と資料(全88ページ)で詳しく紹介され
ている。このビデオと資料に従いやってみた。

1.ビデオは6つに別れており、どこで何の説明をしているのかわからなかったので、
時間と対応資料ページを明記した。
2.ビデオで説明されているが、資料ページがない情報を追記した。

●「ブログチュートリアル」を解説したビデオ 08/08/23
http://d.hatena.ne.jp/i_ogi/20080825/1219671190
●上記ビデオに連動した資料(全88ページ)
http://puyo2.upper.jp/cake/files/20080823cakephphandson_01.pdf
●「ブログチュートリアル」公式マニュアル
http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル
(画面右下のオプションで「全てを1ページで」で表示したもの)

【目次】(項目をクリックすると飛べます)


CakePHPハンズオン1 (概要) 25分  資料p.10-21

CakePHPの概要説明ですね。

00:00 p.10 CakePHPとは
04:30 p.15 機能の特徴
10:40 p.16 主な開発者
14:06 p.17 CakePHPの歴史
18:41 p.19 各国でのイベントも活発
23:39 p.21 CakePHPの気持ち

CakePHPハンズオン2 (インストール) 23分  資料p.22-31

ブログチュートリアルの始まりです。
↓ビデオのページ
http://d.hatena.ne.jp/i_ogi/20080825/1219671190

00:00 p.24 今回の元ネタ
      10.1 CakePHPブログチュートリアル http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル
03:40 p.26 ダウンロード
      10.1.1 Cakeをダウンロード http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル#Cakeをダウンロード-329
04:30-06:40 【実演】Cakeのダウンロード
06:41 p.29 セットアップ
06:54-09:58 【実演・実習】セットアップ
09:58 p.30 CakePHPのディレクトリ構造
18:15 p.31 データベーステーブルの作成
      10.1.2 ブログデータベースの作成 http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル#ブログデータベースの作成-330
20:00-23:00 【実演】phpMyAdminを使ってのデータベーステーブルの作成
       (はまりポイント)phpMyAdminの起動法がわからなかった。
        答:http://localhost/phpmyadmin/index.php
23:00-25:30 (実習の為、画面変更なし、音声なし、2.5分間視聴不要部)

phpMyAdminトップ画面.JPGphpMyAdminクエリ実行.JPG

CakePHPハンズオン3 (初期設定) 40分  資料p.32-40

CakePHPの初期設定です。
↓ビデオのページ
http://d.hatena.ne.jp/i_ogi/20080825/1219671190

00:00 p.32 注意
01:00 p.33 設定ファイル(database.php)の作成
      10.1.3 Cakeのデータベース設定 http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル#Cakeのデータベース設定-331
      (はまりポイント)database.php.defaultにはvar $default = array(の
      下にvar $test = array(の設定も記述されているが、ここも編集の必要があるのか?
      答:$testの所の編集は不要、var $test = array(全部を消去してもOK。
10:00-13:36 実習の為、3.5分間視聴不要部
13:36 p.34 追加の設定(mod_rewriteを有効にする)
16:40-25:55 実習の為、10分間視聴不要部
25:55 p.37 mod_rewriteなしで動く設定(app/config/core.php)
      10.1.5 mod_rewriteについて http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル#mod_rewriteについて-333
29:00 p.34 Seculity.saltを変更(app/config/core.php)
      10.1.4 追加の設定 http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル#追加の設定-332
30:00 p.34 app/temを書き込み可能に
32:00 p.38 基本のコーディング作業
33:00 p.39 Controllerの作成
      10.1.7 Postsコントローラの作成 http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル#Postsコントローラの作成-335
36:52-38:00 実習の為、1分間視聴不要部
38:00 p.39 scafofoldの説明のつづき

CakePHPハンズオン4 (Model〜View) 50分  資料p.41-51

↓ビデオのページ
http://d.hatena.ne.jp/i_ogi/20080825/1219671190

00:30 p.41 Modelの作成
      10.1.6 Postモデルの作成 http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル#Postモデルの作成-334
04:15-05:15 実習の為、1分間視聴不要部
05:15 p.42 Controllerへのアクションの追加
      10.1.7 Postsコントローラの作成 http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル#Postsコントローラの作成-335
scaffoldを消した時のエラー画面.JPG
↑scaffoldを消した時のエラー画面

/app/controller/posts_controller.php

<?php
class PostsController extends AppController {

    var $name = 'Posts';
    //var $scaffold; //不要なので消す
    function index() {
        echo 'test'; exit;
    }
}
?>

http://localhost/cake/posts/
posts_controller_test画面.JPG
↑index()が呼び出され、画面に「test」と表示された。

/app/controller/posts_controller.php

<?php
class PostsController extends AppController {

    var $name = 'Posts';
    //var $scaffold; //不要なので消す
    function index() {
        echo 'test'; exit;
    }

    function hoge() {
        echo 'ほげー'; exit;
    }
}
?>

http://localhost/cake/posts/hoge
posts_controller_hoge画面.JPG
↑hoge()が呼び出され、画面に「ほげー」と表示された。

http://localhost/cake/prsts/
posts_controller_find_all確認画面.JPG
↑画面最尾のクエリでSELECT文が動いている事が確認出来ればOK。

14:26 p.43 Viewの作成
19:30 p.45 Viewの作成2
      10.1.8 Postビューの作成 http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル#Postビューの作成-336
20:10-26:30 実習の為、6.5分間視聴不要部
30:00 p.47 Controllerへのviewアクションの追加
      10.1.8 Postビューの作成 http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル#Postビューの作成-336
34:50-35:30 実習の為、1分間視聴不要部
35:30 p.48 Viewの追加 view.ctp
38:30 p.50 Controllerへのaddアクションの追加(抜粋)
      10.1.9 記事の追加 http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル#記事の追加-337
40:30 p.51 Viewの追加 add.ctp

↓$this->dataの内容確認
/app/controllers/posts_controller.php

<?php
class PostsController extends AppController {
    function add() {
        var_dump($this->data);
    }
}

$this_dataの内容表示.JPG
↑view画面で入力したデータが$this->dataに入ってくる。

↓$this->flash()の機能確認
/app/controllers/posts_controller.php

<?php
class PostsController extends AppController {
    function add() {
        $this->flash('ばいばい','/posts/');
    }
}

this_flash機能確認.JPG
↑flash画面にメッセージが表示され、次の画面へのリンクが貼られる。

48:20-49:27 実習の為、1分間視聴不要部

CakePHPハンズオン5 (validate〜ルーティング) 27分  資料p.52-58

↓ビデオのページ
http://d.hatena.ne.jp/i_ogi/20080825/1219671190

00:00 p.52 validateの追加 post.php
      10.1.10 データのバリデーション http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル#データのバリデーション-338
05:24-07:30 実習の為、2分間視聴不要部
09:30 p.54 Controllerへのdeleteアクションの追加(抜粋)
      10.1.11 投稿記事の削除 http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル#投稿記事の削除-339
12:40 p.56 Controllerへのeditアクションの追加(抜粋)
      10.1.12 投稿記事の編集 http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル#投稿記事の編集-340

ビデオでは資料p.56のコードと少し異なる形で解説
↓/app/controllers/posts_controller.phpに追加するeditアクションのコード

function edit($id = null) {
    $this->Post->id = $id;
    if (empty($this->data)) {
        $this->data = $this->Post->read();
    } else {
        if ($this->Post->save($this->data['Post'])) {
            $this->flash('Your post has been updated.','/posts');
        }
    }
    $this->render('add');
}

20:00-22:30 実習の為、2.5分間視聴不要部
23:00 資料なし ルーティング
        10.1.13 ルーティング(Routes) http://book.cakephp.org/ja/view/341
●ルートで表示されるページを変更する方法
/app/config/routes.php
<変更前>

34: Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));

<変更後>

34: Router::connect('/', array('controller' => 'posts', 'action' => 'index', 'home'));

この変更によりhttp://localhost/posts/でindex画面が表示される様になる。


27:00 終了

CakePHPハンズオン6 (各種Tips紹介) 23分  資料p.59-88

↓ビデオのページ
http://d.hatena.ne.jp/i_ogi/20080825/1219671190

00:00 p.59 CakePHPのさまざまな機能達
01:00 p.61 【いつでも使える機能】
01:00 p.62 デバッグ機能
05:39 p.63 コードシュガー
09:03 p.65 ログ機能
10:00 p.67 【Controllerで使える機能】
10:15 p.68 レイアウト変更
12:15 p.70 任意のモデルの利用
14:10 p.71 (割愛)セッション
14:30 p.72 【Modelで使える機能】
14:30 p.73 対象テーブル・主キーの指定
15:50 p.75 データ取得
17:05 p.78 【Viewで使える機能】
17:05 p.79 ヘルパー
18:15 p.82 【機能の利用方法の情報源】
       公式マニュアル http://book.cakephp.org/ja/
       APIドキュメント http://api.cakephp.org/classes.html

CakePHP12公式マニュアルページ画面.JPGCakePHP_APIdocument画面.JPG

21:00 p.84 【チュートリアルを拡張してみる】
21:45 p.86 【まとめ】

09/01/25 count 34


選択肢 投票
参考になった 0  
ふつう 0  
参考にならなかった 0  

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS