Movatterモバイル変換


[0]ホーム

URL:


Yusuke Ando, profile picture
Uploaded byYusuke Ando
1,600 views

Cakephp

Embed presentation

Downloaded 11 times
CakePHP入門PHPでRailsライクな高速開発                                                        PHP勉強会 第9回発表資料                                                        2006年2月25日 安藤祐介   Copyright © YusukeAndo. 2006. All rights reserved.                                                                      1
はじめに 巷で話題の“Ruby On Rails”     Rubyで実装されたMVCフレームワーク     同じ事を繰り返さない - Don’t Repeat Yourself     設定よりも規約 - Convention over Configuration     ActiveRecordによりコードを書かずにDB機能     「高速」開発。(プロトタイプ、改修、運用)                                               10分で作るRailsアプリ for Windows→注目度が上昇中                                                     などの試みが注目されたり・・・Copyright © YusukeAndo. 2006. All rights reserved.                          2
そしてRuby On RailsのPHP版とも言えるのが・・・                                                         なのです                                       (正確にはRailsライクなフレームワークの中の1つ)Copyright © YusukeAndo. 2006. All rights reserved.               3
CakePHPの特徴   フロントコントローラー、MVCモデル   設定不要、サブディレクトリのみで動作可能   アクティブレコード、組込みのCRUD   PHP4、PHP5両対応「あらゆるレベルのプログラマーにとって快適な環境を」                                                     CakePHP development teamCopyright © YusukeAndo. 2006. All rights reserved.                              4
おおまかな構造                                             アプリケーションのルート                                             設定ファイル                                             コントローラー                                             モデル                                             ビュー(テンプレート)                                             フレームワークのライブラリ→以上の構造で丸ごと設置する為、共用型サーバでも容易。 Copyright © YusukeAndo. 2006. All rights reserved.          5
動作の手順実際に動かしながら触ってみましょう!Copyright © YusukeAndo. 2006. All rights reserved.   6
アーカイブの入手   cakephp.orgからアーカイブを入手。                                                     ここです。Copyright © YusukeAndo. 2006. All rights reserved.           7
セットアップ    展開して出来たディレクトリを任意にリネーム    Apacheから見える所にがっつりと設置    あとはindex.phpにアクセスすれば動作完了※htaccessによるoverride、rewriteが出来るようにしておく Rewriteが使えない場合はcore.php内の設定を修正 Copyright © YusukeAndo. 2006. All rights reserved.   8
画面イメージ                                                     データベース設定が無い警告Copyright © YusukeAndo. 2006. All rights reserved.                   9
データベース接続設定  データベースへの接続設定を行う  app/config/database.php に設定を記入  ひな型をコピーすると簡単var $default = array('driver'                => 'mysql',                           'connect' => 'mysql_pconnect',                           ‘host’       => ‘localhost’,     ホスト名                           ‘login’      => ‘user’,        ユーザ名                           ‘password’ => ‘password’,   パスワード                           ‘database’ => ‘project_name’, DB名                           'prefix'      => '');Copyright © YusukeAndo. 2006. All rights reserved.                 10
画面イメージ                                                     データベース接続成功Copyright © YusukeAndo. 2006. All rights reserved.                11
テーブル作成 データベースにアプリで利用するテーブルを作成 一定のネーミングルールで作成(必須!)ネーミングルール テーブル名は複数形英語 (books toys musics …) プライマリキーは“id”とする 外部キーは“genre_id” “book_id” のように単数_id とする “created” “modified”というDATETIMEを作るとベターCopyright © YusukeAndo. 2006. All rights reserved.   12
画面イメージ                                                     コントローラーが無い                                                     作るべきコードCopyright © YusukeAndo. 2006. All rights reserved.                13
コントローラー作成/books にアクセスするとコントローラーが見つからないエラーが・・・   エラー画面で指示されたとおりにクラスを作成 app/controllers/%name%_controller.php <?php     class BooksController extends AppController     {     }?>Copyright © YusukeAndo. 2006. All rights reserved.   14
モデル作成今度はモデルが見つからないらしい・・・    AppModelの派生クラスを作成    app/models/%name%.php<?phpclass book extends AppModel {}?>Copyright © YusukeAndo. 2006. All rights reserved.   15
画面イメージ                                                     メソッドが無いCopyright © YusukeAndo. 2006. All rights reserved.             16
scaffoldの利用メソッドが無いといわれたが・・・?     現段階ではロジックを実装するindex() メソッド等が無い     Railsにもあるアプリの「骨組み」を提供する機能     コントローラーをscaffold指定すれば「骨組み」が利用可能<?php     class BooksController extends AppController     {         var $scaffold;     }?>Copyright © YusukeAndo. 2006. All rights reserved.   17
動作確認  組込みのCRUDが利用可能です  Create Read Update Delete の機能  マスタのメンテナンス程度であれば十分  カラム追加などにも自動で追随するCopyright © YusukeAndo. 2006. All rights reserved.   18
入力画面                                                     カラムの型に応じた                                                      入力欄を生成Copyright © YusukeAndo. 2006. All rights reserved.               19
単票形式での表示Copyright © YusukeAndo. 2006. All rights reserved.   20
カスタマイズ  組込みのCRUDも便利は便利・・・  でもユーザ向けの表示は細かい指定が必要  コントローラーを修正し、テンプレートを作ればOK  scaffoldとの共存もできるCopyright © YusukeAndo. 2006. All rights reserved.   21
コントローラーの修正     app/controllers/%name%_controller.phpにindexメソッド     を追加する<?php     class BooksController extends AppController     {         var $scaffold;         function index(){             $this->set('data',$this->book->findAll());         }     }?>Copyright © YusukeAndo. 2006. All rights reserved.        22
テンプレートの作成    app/views/%name%/index.thtml を作成    Controllerでsetした名前でハッシュがある<table><tr><th>書名</th><th>登録日</th></tr><?php foreach ($data as $row): ?><tr><td><?php echo $row['book']['title'];?></td><td><?php echo $row['book']['created'];?></td></tr><?php endforeach; ?></table> Copyright © YusukeAndo. 2006. All rights reserved.   23
カスタマイズの確認  カスタマイズした表示ができました  scaffoldの機能もURLを叩けば動く(リンクすれば良い)  リレーションも使えますCopyright © YusukeAndo. 2006. All rights reserved.   24
画面イメージ                                                     モデルに2行程度の修正                                                      で従属データも取得Copyright © YusukeAndo. 2006. All rights reserved.                 25
まとめ  メリット  簡単セットアップ、スクリプト的な記述  validate、セッション管理も組み込まれている  デメリット  情報が少ない、マルチバイト関連のノウハウ  習得コストは無いとは言えないCopyright © YusukeAndo. 2006. All rights reserved.   26
Let‘s Bake!     CakePHPなかなか面白そうなフレームワークです。     小回りが利きそうな開発でなら十分に威力を発揮     するのではないでしょうか?     皆さんも今日からBakerです!Copyright © YusukeAndo. 2006. All rights reserved.   27
謝辞 参考サイト     10分で作るCakePHPアプリ for Windows                                                     http://p4life.jp/cake/Copyright © YusukeAndo. 2006. All rights reserved.                            28
質疑応答                  ご静聴ありがとうございました。Copyright © YusukeAndo. 2006. All rights reserved.   29

Recommended

PDF
Redmine Ansible
PPTX
Windows Azure PHP Tips
PDF
Behatで行う、E2Eテスト入門
PDF
今、最もイケてるPHPフレームワークLaravel4
PDF
140917運用管理勉強会job scheduler
PDF
PowerShell DSC と Linux
PDF
System4 comment
PDF
NetBeansではじめる FuelPHP
PDF
Java EE 再入門
PDF
JS7 JobScheduler プレビュー
PPTX
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
PDF
Vue入門
PPTX
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
PDF
Laravel5を使って開発してみた
PDF
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
 
PPT
今、最もイケてるPHPフレームワークLaravel4
PDF
JobSchedulerを使ったAsakusaのジョブ管理
PPTX
Eggplant Functional - Lesson 5 (Japanese slides)
PPTX
Fuelphp1.8を始めたい
PDF
Java EEの話(仮)
PPTX
今、最も勢いのあるWebフレームワーク「fuel php」
PDF
SOS JobScheduler Overview (Japanese)
PDF
behatエクステンションの作り方
PDF
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
PDF
Osc2014
PDF
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
PDF
XPagesDay2013 【B-4】 Dojo 徹底解剖! ~ XPages で Dojo を有効活用するには ~
PPTX
<第1回>Laravelハンズオンセミナー
PDF
20091030cakephphandson 01
PDF
20091030cakephphandson 02

More Related Content

PDF
Redmine Ansible
PPTX
Windows Azure PHP Tips
PDF
Behatで行う、E2Eテスト入門
PDF
今、最もイケてるPHPフレームワークLaravel4
PDF
140917運用管理勉強会job scheduler
PDF
PowerShell DSC と Linux
PDF
System4 comment
PDF
NetBeansではじめる FuelPHP
Redmine Ansible
Windows Azure PHP Tips
Behatで行う、E2Eテスト入門
今、最もイケてるPHPフレームワークLaravel4
140917運用管理勉強会job scheduler
PowerShell DSC と Linux
System4 comment
NetBeansではじめる FuelPHP

What's hot

PDF
Java EE 再入門
PDF
JS7 JobScheduler プレビュー
PPTX
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
PDF
Vue入門
PPTX
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
PDF
Laravel5を使って開発してみた
PDF
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
 
PPT
今、最もイケてるPHPフレームワークLaravel4
PDF
JobSchedulerを使ったAsakusaのジョブ管理
PPTX
Eggplant Functional - Lesson 5 (Japanese slides)
PPTX
Fuelphp1.8を始めたい
PDF
Java EEの話(仮)
PPTX
今、最も勢いのあるWebフレームワーク「fuel php」
PDF
SOS JobScheduler Overview (Japanese)
PDF
behatエクステンションの作り方
PDF
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
PDF
Osc2014
PDF
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
PDF
XPagesDay2013 【B-4】 Dojo 徹底解剖! ~ XPages で Dojo を有効活用するには ~
PPTX
<第1回>Laravelハンズオンセミナー
Java EE 再入門
JS7 JobScheduler プレビュー
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
Vue入門
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Laravel5を使って開発してみた
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
 
今、最もイケてるPHPフレームワークLaravel4
JobSchedulerを使ったAsakusaのジョブ管理
Eggplant Functional - Lesson 5 (Japanese slides)
Fuelphp1.8を始めたい
Java EEの話(仮)
今、最も勢いのあるWebフレームワーク「fuel php」
SOS JobScheduler Overview (Japanese)
behatエクステンションの作り方
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
Osc2014
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2013 【B-4】 Dojo 徹底解剖! ~ XPages で Dojo を有効活用するには ~
<第1回>Laravelハンズオンセミナー

Similar to Cakephp

PDF
20091030cakephphandson 01
PDF
20091030cakephphandson 02
PDF
WTM53 phpフレームワーク いまさらcodeigniter
PDF
PHPフレームワーク入門
 
PDF
CodeIgniter入門
 
PDF
「新しい」を生み出すためのWebアプリ開発とその周辺
PDF
Weeklycms20120218
PDF
20091031 Cake Php Way
PPTX
Tech fun rails_workshop
PPT
Cakephp tokyo5
PDF
Lithium Labo #1
PDF
10分でわかるFuelPHP @ 2011/12
 
PDF
The Essence of Using Ruby on Rails in Corporations
KEY
8分で分かる最近のCakePHP
PDF
CodeIgniter 〜 2008年大躍進のPHPフレームワーク
 
PDF
はじめてのCodeIgniter
PDF
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 
PDF
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 
PDF
第21回Creators MeetUp
PDF
20120307 CakePHP Study in Tokyo
20091030cakephphandson 01
20091030cakephphandson 02
WTM53 phpフレームワーク いまさらcodeigniter
PHPフレームワーク入門
 
CodeIgniter入門
 
「新しい」を生み出すためのWebアプリ開発とその周辺
Weeklycms20120218
20091031 Cake Php Way
Tech fun rails_workshop
Cakephp tokyo5
Lithium Labo #1
10分でわかるFuelPHP @ 2011/12
 
The Essence of Using Ruby on Rails in Corporations
8分で分かる最近のCakePHP
CodeIgniter 〜 2008年大躍進のPHPフレームワーク
 
はじめてのCodeIgniter
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 
第21回Creators MeetUp
20120307 CakePHP Study in Tokyo

More from Yusuke Ando

PDF
ダイナミック広告の改善と拡大
PDF
DevOpsを実現するChef活用テクニック
PDF
DevOpsを実現する為のChef実践テクニック Chef12対応版
PDF
Testing your app with Selenium on Travis CI
PDF
Travis CIで実現するPHPアプリの自動テスト
PDF
Shimokita.Unity Detonatorで爆発
PDF
Shimokita.Unity RigidbodyとColliderで衝突
PDF
Webプログラマの為のUnity入門
PDF
ゴールデンウィークに最適な学習コンテンツ
PDF
Travis CIですぐに始める継続的インテグレーション
PDF
ブログやサイトのJekyllへの移行
PDF
PHPとTravis CIでブラウザテスト
PDF
Shimokita.Unity パリの街をユニティちゃんが駆ける
PDF
Dev opschef
PDF
Paa s and oss
PDF
New relic
PDF
Engine Yardで作る NetCommons3のクラウド環境
PDF
Engine Yard Cloud
PDF
最近のCandyCane - PHP版Redmineでタスク管理を始めよう
PDF
PHPの教室「foreachを極める」
ダイナミック広告の改善と拡大
DevOpsを実現するChef活用テクニック
DevOpsを実現する為のChef実践テクニック Chef12対応版
Testing your app with Selenium on Travis CI
Travis CIで実現するPHPアプリの自動テスト
Shimokita.Unity Detonatorで爆発
Shimokita.Unity RigidbodyとColliderで衝突
Webプログラマの為のUnity入門
ゴールデンウィークに最適な学習コンテンツ
Travis CIですぐに始める継続的インテグレーション
ブログやサイトのJekyllへの移行
PHPとTravis CIでブラウザテスト
Shimokita.Unity パリの街をユニティちゃんが駆ける
Dev opschef
Paa s and oss
New relic
Engine Yardで作る NetCommons3のクラウド環境
Engine Yard Cloud
最近のCandyCane - PHP版Redmineでタスク管理を始めよう
PHPの教室「foreachを極める」

Cakephp

  • 1.
    CakePHP入門PHPでRailsライクな高速開発 PHP勉強会 第9回発表資料 2006年2月25日 安藤祐介 Copyright © YusukeAndo. 2006. All rights reserved. 1
  • 2.
    はじめに 巷で話題の“Ruby OnRails” Rubyで実装されたMVCフレームワーク 同じ事を繰り返さない - Don’t Repeat Yourself 設定よりも規約 - Convention over Configuration ActiveRecordによりコードを書かずにDB機能 「高速」開発。(プロトタイプ、改修、運用) 10分で作るRailsアプリ for Windows→注目度が上昇中 などの試みが注目されたり・・・Copyright © YusukeAndo. 2006. All rights reserved. 2
  • 3.
    そしてRuby On RailsのPHP版とも言えるのが・・・ なのです (正確にはRailsライクなフレームワークの中の1つ)Copyright © YusukeAndo. 2006. All rights reserved. 3
  • 4.
    CakePHPの特徴フロントコントローラー、MVCモデル 設定不要、サブディレクトリのみで動作可能 アクティブレコード、組込みのCRUD PHP4、PHP5両対応「あらゆるレベルのプログラマーにとって快適な環境を」 CakePHP development teamCopyright © YusukeAndo. 2006. All rights reserved. 4
  • 5.
    おおまかな構造 アプリケーションのルート 設定ファイル コントローラー モデル ビュー(テンプレート) フレームワークのライブラリ→以上の構造で丸ごと設置する為、共用型サーバでも容易。 Copyright © YusukeAndo. 2006. All rights reserved. 5
  • 6.
  • 7.
    アーカイブの入手cakephp.orgからアーカイブを入手。 ここです。Copyright © YusukeAndo. 2006. All rights reserved. 7
  • 8.
    セットアップ 展開して出来たディレクトリを任意にリネーム Apacheから見える所にがっつりと設置 あとはindex.phpにアクセスすれば動作完了※htaccessによるoverride、rewriteが出来るようにしておく Rewriteが使えない場合はcore.php内の設定を修正 Copyright © YusukeAndo. 2006. All rights reserved. 8
  • 9.
    画面イメージ データベース設定が無い警告Copyright © YusukeAndo. 2006. All rights reserved. 9
  • 10.
    データベース接続設定 データベースへの接続設定を行う app/config/database.php に設定を記入 ひな型をコピーすると簡単var $default = array('driver' => 'mysql', 'connect' => 'mysql_pconnect', ‘host’ => ‘localhost’,     ホスト名 ‘login’ => ‘user’,        ユーザ名 ‘password’ => ‘password’,   パスワード ‘database’ => ‘project_name’, DB名 'prefix' => '');Copyright © YusukeAndo. 2006. All rights reserved. 10
  • 11.
    画面イメージ データベース接続成功Copyright © YusukeAndo. 2006. All rights reserved. 11
  • 12.
    テーブル作成 データベースにアプリで利用するテーブルを作成 一定のネーミングルールで作成(必須!)ネーミングルールテーブル名は複数形英語 (books toys musics …) プライマリキーは“id”とする 外部キーは“genre_id” “book_id” のように単数_id とする “created” “modified”というDATETIMEを作るとベターCopyright © YusukeAndo. 2006. All rights reserved. 12
  • 13.
    画面イメージ コントローラーが無い 作るべきコードCopyright © YusukeAndo. 2006. All rights reserved. 13
  • 14.
    コントローラー作成/books にアクセスするとコントローラーが見つからないエラーが・・・ エラー画面で指示されたとおりにクラスを作成 app/controllers/%name%_controller.php <?php class BooksController extends AppController { }?>Copyright © YusukeAndo. 2006. All rights reserved. 14
  • 15.
    モデル作成今度はモデルが見つからないらしい・・・ AppModelの派生クラスを作成 app/models/%name%.php<?phpclass book extends AppModel {}?>Copyright © YusukeAndo. 2006. All rights reserved. 15
  • 16.
    画面イメージ メソッドが無いCopyright © YusukeAndo. 2006. All rights reserved. 16
  • 17.
    scaffoldの利用メソッドが無いといわれたが・・・? 現段階ではロジックを実装するindex() メソッド等が無い Railsにもあるアプリの「骨組み」を提供する機能 コントローラーをscaffold指定すれば「骨組み」が利用可能<?php class BooksController extends AppController { var $scaffold; }?>Copyright © YusukeAndo. 2006. All rights reserved. 17
  • 18.
    動作確認 組込みのCRUDが利用可能です Create Read Update Delete の機能 マスタのメンテナンス程度であれば十分 カラム追加などにも自動で追随するCopyright © YusukeAndo. 2006. All rights reserved. 18
  • 19.
    入力画面 カラムの型に応じた 入力欄を生成Copyright © YusukeAndo. 2006. All rights reserved. 19
  • 20.
  • 21.
    カスタマイズ 組込みのCRUDも便利は便利・・・ でもユーザ向けの表示は細かい指定が必要 コントローラーを修正し、テンプレートを作ればOK scaffoldとの共存もできるCopyright © YusukeAndo. 2006. All rights reserved. 21
  • 22.
    コントローラーの修正 app/controllers/%name%_controller.phpにindexメソッド を追加する<?php class BooksController extends AppController { var $scaffold; function index(){ $this->set('data',$this->book->findAll()); } }?>Copyright © YusukeAndo. 2006. All rights reserved. 22
  • 23.
    テンプレートの作成 app/views/%name%/index.thtml を作成 Controllerでsetした名前でハッシュがある<table><tr><th>書名</th><th>登録日</th></tr><?php foreach ($data as $row): ?><tr><td><?php echo $row['book']['title'];?></td><td><?php echo $row['book']['created'];?></td></tr><?php endforeach; ?></table> Copyright © YusukeAndo. 2006. All rights reserved. 23
  • 24.
    カスタマイズの確認 カスタマイズした表示ができました scaffoldの機能もURLを叩けば動く(リンクすれば良い) リレーションも使えますCopyright © YusukeAndo. 2006. All rights reserved. 24
  • 25.
    画面イメージ モデルに2行程度の修正 で従属データも取得Copyright © YusukeAndo. 2006. All rights reserved. 25
  • 26.
    まとめ メリット  簡単セットアップ、スクリプト的な記述  validate、セッション管理も組み込まれている デメリット  情報が少ない、マルチバイト関連のノウハウ  習得コストは無いとは言えないCopyright © YusukeAndo. 2006. All rights reserved. 26
  • 27.
    Let‘s Bake! CakePHPなかなか面白そうなフレームワークです。 小回りが利きそうな開発でなら十分に威力を発揮 するのではないでしょうか? 皆さんも今日からBakerです!Copyright © YusukeAndo. 2006. All rights reserved. 27
  • 28.
    謝辞 参考サイト 10分で作るCakePHPアプリ for Windows http://p4life.jp/cake/Copyright © YusukeAndo. 2006. All rights reserved. 28
  • 29.
    質疑応答  ご静聴ありがとうございました。Copyright © YusukeAndo. 2006. All rights reserved. 29

[8]ページ先頭

©2009-2025 Movatter.jp