#freeze
閲覧総計:&counter();  (本日:&counter(today);  昨日:&counter(yesterday);)

CakePHPへの入門の定番中の定番、CakePHP1.2公式マニュアルに掲載されている「ブロ
グチュートリアル」をやってみた。 08/12/30
http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル
|&attachref(blog_index画面.JPG,zoom,200x200,button){新しい画像添付};|&attachref(blog_view画面.JPG,zoom,200x200,button){新しい画像添付};|&attachref(blog_edit画面.JPG,zoom,200x200,button){新しい画像添付};|

「ブログチュートリアル」はインターネット上に、ビデオ(全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ページで」で表示したもの)

&size(18){''【目次】''};(項目をクリックすると飛べます)
#contents
~
*CakePHPハンズオン1 (概要) 25分  資料p.10-21 [#h16adeff]

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 [#ybc883c1]

ブログチュートリアルの始まりです。
↓ビデオのページ
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
&color(crimson){23:00-25:30 (実習の為、画面変更なし、音声なし、2.5分間視聴不要部)};
|&attachref(phpMyAdminトップ画面.JPG,zoom,200x200,button){新しい画像添付};|&attachref(phpMyAdminクエリ実行.JPG,zoom,200x200,button){新しい画像添付};|

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

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。 
&color(crimson){10:00-13:36 実習の為、3.5分間視聴不要部};
13:36 p.34 追加の設定(mod_rewriteを有効にする)
&color(crimson){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 
&color(crimson){36:52-38:00 実習の為、1分間視聴不要部};
38:00 p.39 scafofoldの説明のつづき



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

↓ビデオのページ
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
&color(crimson){04:15-05:15 実習の為、1分間視聴不要部};
05:15 p.42 Controllerへのアクションの追加
      10.1.7 Postsコントローラの作成 http://book.cakephp.org/ja/complete/219/CakePHPブログチュートリアル#Postsコントローラの作成-335
&attachref(scaffoldを消した時のエラー画面.JPG,zoom,200x200,button){新しい画像添付};
↑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/
&attachref(posts_controller_test画面.JPG,zoom,200x200,button){新しい画像添付};
↑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
&attachref(posts_controller_hoge画面.JPG,zoom,200x200,button){新しい画像添付};
↑hoge()が呼び出され、画面に「ほげー」と表示された。

http://localhost/cake/prsts/
&attachref(posts_controller_find_all確認画面.JPG,zoom,200x200,button){新しい画像添付};
↑画面最尾のクエリで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
&color(crimson){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
&color(crimson){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);
     }
 }
&attachref($this_dataの内容表示.JPG,zoom,200x200,button){新しい画像添付};
↑view画面で入力したデータが$this->dataに入ってくる。

↓$this->flash()の機能確認
/app/controllers/posts_controller.php
 <?php
 class PostsController extends AppController {
     function add() {
         $this->flash('ばいばい','/posts/');
     }
 }
&attachref(this_flash機能確認.JPG,zoom,200x200,button){新しい画像添付};
↑flash画面にメッセージが表示され、次の画面へのリンクが貼られる。

&color(crimson){48:20-49:27 実習の為、1分間視聴不要部};



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

↓ビデオのページ
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
&color(crimson){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');
 }

&color(crimson){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画面が表示される様になる。
&attachref(,zoom,200x200,button){新しい画像添付};
27:00 終了



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

↓ビデオのページ
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
|&attachref(CakePHP12公式マニュアルページ画面.JPG,zoom,200x200,button){新しい画像添付};|&attachref(CakePHP_APIdocument画面.JPG,zoom,200x200,button){新しい画像添付};|
21:00 p.84 【チュートリアルを拡張してみる】
21:45 p.86 【まとめ】


09/01/25 count 34

#comment_nospam
#vote(参考になった[1],ふつう[0],参考にならなかった[0])

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