2010/5/29 CakePHP Study Meetup @tokyo #5 ichikawa (id:cakephper) ‏ (id:ichikaway) CakePHP1.3 Stable
Self-introduction Yasushi Ichikawa Twitter (Japanese) : @cakephper Twitter (English) : @ichikaway  Blog Cakephper diary ( ...
Self-introduction <ul><li>I've used the Cakephp since Aug 2008. </li></ul><ul><li>Author of the SQL Explain Component  </l...
Topic <ul><li>CakePHP History </li></ul><ul><li>CakePHP1.3 Resources </li></ul><ul><li>CakePHP1.3 New Features </li></ul><...
CakePHP History <ul><li>CakePHP1.2 </li></ul><ul><ul><li>Stable Release(2008/12)   </li></ul></ul><ul><li>CakePHP1.3 </li>...
CakePHP History <ul><li>CakePHP1.3 Stable Release(1.5 year) </li></ul><ul><ul><ul><li>Thanks a lot, Cakephp Team! </li></u...
CakePHP Donation http://pledgie.com/campaigns/7311
CakePHP Donation
CakePHP Donation Edit profile(paypal email address) after login.
CakePHP Donation http://pledgie.com/campaigns/7311
CakePHP Donation 寄付は $5 以上にした方が良いです。 Paypal 手数料が差し引かれるので。
CakePHP Donation
CakePHP Donation
Easy, Let's try :)
Topic <ul><li>CakePHP History </li></ul><ul><li>CakePHP1.3 Resources </li></ul><ul><li>CakePHP1.3 New Features </li></ul><...
CakePHP1.3 Resources <ul><li>Cakephp Core Code </li></ul><ul><ul><li>よく分からない場合はコードを見た方が早い </li></ul></ul><ul><ul><li>http ...
CookBook difference JP/EN
Topic <ul><li>CakePHP History </li></ul><ul><li>CakePHP1.3 Resources </li></ul><ul><li>CakePHP1.3 New Features </li></ul><...
CakePHP1.3 New Features <ul><li>Routes </li></ul><ul><li>Virtual Fields </li></ul><ul><li>Validation </li></ul><ul><li>Bak...
CakePHP1.3 New Features <ul><li>Routes </li></ul><ul><ul><li>Prefix Routing </li></ul></ul><ul><ul><ul><li>Admin ルーティングと同じ...
CakePHP1.3 New Features <ul><li>RouteClass </li></ul><ul><ul><li>config/routes.php </li></ul></ul>http://mark-story.com/po...
CakePHP1.3 New Features <ul><li>RouteClass </li></ul><ul><ul><li>app/libs/routes/slug_route.php </li></ul></ul>http://mark...
CakePHP1.3 New Features <ul><li>Virtual Fields </li></ul><ul><ul><li>DB カラムを仮想定義して、 Field として扱える </li></ul></ul><ul><ul><l...
CakePHP1.3 New Features <ul><li>Validation </li></ul><ul><ul><li>マルチバイト対応 </li></ul></ul><ul><ul><ul><li>maxLength() などは m...
CakePHP1.3 New Features <ul><li>Validation </li></ul><ul><ul><li>国別のルール適用例 </li></ul></ul>// In your Model App::import('Li...
CakePHP1.3 New Features <ul><li>Bake </li></ul><ul><ul><li>テンプレート </li></ul></ul><ul><ul><ul><li>コントローラやモデルの雛形を容易にカスタマイズ <...
CakePHP1.3 New Features <ul><li>他にも色々新機能があります </li></ul><ul><ul><li>JsHelper </li></ul></ul><ul><ul><ul><li>Jquery, Protot...
CakePHP1.3 New Features <ul><li>より詳細な情報は New features in CakePHP 1.3 参照 </li></ul><ul><ul><li>CakeBook 11.2 章 付録 </li></ul...
Topic <ul><li>CakePHP History </li></ul><ul><li>CakePHP1.3 Resources </li></ul><ul><li>CakePHP1.3 New Features </li></ul><...
CakePHP1.3 Change from 1.2 <ul><ul><li>Helper, Component の自動読み込み廃止 </li></ul></ul><ul><ul><ul><li>Session, html ヘルパー、 Sess...
CakePHP1.3 Change from 1.2 <ul><li>タイトル </li></ul><ul><ul><li>Controller::pageTitle 廃止 </li></ul></ul><ul><ul><li>$this->s...
CakePHP1.3 Change from 1.2 <ul><li>Bootstrap </li></ul><ul><ul><li>フォルダ構成を自由に定義可能 </li></ul></ul><ul><ul><ul><li>plugin, m...
Migration CakePHP1.2 to 1.3 <ul><li>より詳細な情報はマイグレーションガイドを参照 </li></ul><ul><ul><li>CakeBook の 11.1 章 付録 </li></ul></ul><ul><...
まとめ <ul><li>CakePHP History </li></ul><ul><li>CakePHP1.3 Resources </li></ul><ul><li>CakePHP1.3 New Features </li></ul><ul...
ありがとうございました Thank you
Upcoming SlideShare
Loading in...5
×

Cakephp tokyo5

5,272

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
5,272
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cakephp tokyo5

  1. 1. 2010/5/29 CakePHP Study Meetup @tokyo #5 ichikawa (id:cakephper) ‏ (id:ichikaway) CakePHP1.3 Stable
  2. 2. Self-introduction Yasushi Ichikawa Twitter (Japanese) : @cakephper Twitter (English) : @ichikaway Blog Cakephper diary ( CakePHP 、 MongoDB ) http://d.hatena.ne.jp/cakephper
  3. 3. Self-introduction <ul><li>I've used the Cakephp since Aug 2008. </li></ul><ul><li>Author of the SQL Explain Component </li></ul><ul><li>-> Contributor of the Debug_kit </li></ul><ul><li>Author of the Cakephp MongoDB-Datasource </li></ul><ul><li>My code for Cakephp </li></ul><ul><li>http://github.com/ichikaway </li></ul><ul><li>XformHelper </li></ul><ul><li>MongoDB-Datasource </li></ul><ul><li>cakeplus </li></ul>
  4. 4. Topic <ul><li>CakePHP History </li></ul><ul><li>CakePHP1.3 Resources </li></ul><ul><li>CakePHP1.3 New Features </li></ul><ul><li>CakePHP1.3 Migration </li></ul>
  5. 5. CakePHP History <ul><li>CakePHP1.2 </li></ul><ul><ul><li>Stable Release(2008/12) </li></ul></ul><ul><li>CakePHP1.3 </li></ul><ul><ul><li>Stable Release(2010/4) </li></ul></ul><ul><ul><li>PHP4, 5 </li></ul></ul><ul><li>CakePHP2.0 </li></ul><ul><ul><li>PHP5.2 </li></ul></ul>
  6. 6. CakePHP History <ul><li>CakePHP1.3 Stable Release(1.5 year) </li></ul><ul><ul><ul><li>Thanks a lot, Cakephp Team! </li></ul></ul></ul><ul><li>Contribution </li></ul><ul><ul><ul><li>Code </li></ul></ul></ul><ul><ul><ul><li>Ticket/Patch </li></ul></ul></ul><ul><ul><ul><li>Document / Translation </li></ul></ul></ul><ul><ul><ul><li>Donation </li></ul></ul></ul>
  7. 7. CakePHP Donation http://pledgie.com/campaigns/7311
  8. 8. CakePHP Donation
  9. 9. CakePHP Donation Edit profile(paypal email address) after login.
  10. 10. CakePHP Donation http://pledgie.com/campaigns/7311
  11. 11. CakePHP Donation 寄付は $5 以上にした方が良いです。 Paypal 手数料が差し引かれるので。
  12. 12. CakePHP Donation
  13. 13. CakePHP Donation
  14. 14. Easy, Let's try :)
  15. 15. Topic <ul><li>CakePHP History </li></ul><ul><li>CakePHP1.3 Resources </li></ul><ul><li>CakePHP1.3 New Features </li></ul><ul><li>CakePHP1.3 Migration </li></ul>
  16. 16. CakePHP1.3 Resources <ul><li>Cakephp Core Code </li></ul><ul><ul><li>よく分からない場合はコードを見た方が早い </li></ul></ul><ul><ul><li>http ://github.com/cakephp/cakephp </li></ul></ul><ul><li>API マニュアル </li></ul><ul><ul><li>各クラスの説明、メソッドの説明 </li></ul></ul><ul><ul><li>ここにしか書いていない情報もある </li></ul></ul><ul><ul><li>http://api.cakephp.org </li></ul></ul><ul><li>Cake CookBook </li></ul><ul><ul><li>Cake の解説、チュートリアル </li></ul></ul><ul><ul><li>英語版と日本語版の不整合に注意 </li></ul></ul><ul><ul><li>http ://book.cakephp.org/view/875/x1-3-Collection </li></ul></ul>
  17. 17. CookBook difference JP/EN
  18. 18. Topic <ul><li>CakePHP History </li></ul><ul><li>CakePHP1.3 Resources </li></ul><ul><li>CakePHP1.3 New Features </li></ul><ul><li>CakePHP1.3 Migration </li></ul>
  19. 19. CakePHP1.3 New Features <ul><li>Routes </li></ul><ul><li>Virtual Fields </li></ul><ul><li>Validation </li></ul><ul><li>Bake </li></ul><ul><li>etc </li></ul>http://book.cakephp.org/ja/view/1572/New-features-in-CakePHP-1-3
  20. 20. CakePHP1.3 New Features <ul><li>Routes </li></ul><ul><ul><li>Prefix Routing </li></ul></ul><ul><ul><ul><li>Admin ルーティングと同じ扱いに </li></ul></ul></ul><ul><ul><li>RouteClass </li></ul></ul><ul><ul><ul><li>ルーティング処理マッチング時に自作クラス呼び出し </li></ul></ul></ul><ul><ul><ul><li>DB の値を見てマッチング処理を行うなど </li></ul></ul></ul><ul><ul><ul><ul><li>例 1: 該当の slug が DB にあれば routing する </li></ul></ul></ul></ul><ul><ul><ul><ul><li>例 2: url の一部変更でリダイレクト </li></ul></ul></ul></ul>
  21. 21. CakePHP1.3 New Features <ul><li>RouteClass </li></ul><ul><ul><li>config/routes.php </li></ul></ul>http://mark-story.com/posts/view/using-custom-route-classes-in-cakephp App::import('Lib', 'routes/SlugRoute'); Router::connect( '/:slug', array('controller' => 'posts', 'action' => 'view'), array('routeClass' => 'SlugRoute') );
  22. 22. CakePHP1.3 New Features <ul><li>RouteClass </li></ul><ul><ul><li>app/libs/routes/slug_route.php </li></ul></ul>http://mark-story.com/posts/view/using-custom-route-classes-in-cakephp class SlugRoute extends CakeRoute { function parse($url) { $params = parent::parse($url); App::import('Model', 'Post'); $Post = new Post(); $count = $Post->find('count', array('conditions' => array('Post.slug LIKE ?' => $params['slug'] .'%')); if ($count) { return $params;} return false; }}
  23. 23. CakePHP1.3 New Features <ul><li>Virtual Fields </li></ul><ul><ul><li>DB カラムを仮想定義して、 Field として扱える </li></ul></ul><ul><ul><li>Field で表示する内容は SQL 文で定義 </li></ul></ul><ul><ul><ul><li>例: fullname カラムに姓名を表示 </li></ul></ul></ul><ul><ul><ul><li>'fullname' => “CONCAT(User.Fname, ' ', User.Lname)” </li></ul></ul></ul><ul><ul><li>参考:「 VitualFields を使おう!」 hiromi2424 さん </li></ul></ul><ul><ul><ul><li>http://d.hatena.ne.jp/hiromi2424/20100204/1265274976 </li></ul></ul></ul>
  24. 24. CakePHP1.3 New Features <ul><li>Validation </li></ul><ul><ul><li>マルチバイト対応 </li></ul></ul><ul><ul><ul><li>maxLength() などは mb_strlen() を利用 </li></ul></ul></ul><ul><ul><ul><li>mb_strlen() が定義されてなければマルチバイトクラスの Multibyte::strlen() を利用 </li></ul></ul></ul><ul><ul><li>国別のルールを適用 </li></ul></ul><ul><ul><ul><ul><ul><li>Phone, postcode, SSN </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>国別のマッチングルールを適用可能 </li></ul></ul></ul></ul></ul><ul><ul><ul><li>例:日本の postcode なら 222-3333 というルール </li></ul></ul></ul><ul><ul><ul><li>http://github.com/cakephp/localized </li></ul></ul></ul>
  25. 25. CakePHP1.3 New Features <ul><li>Validation </li></ul><ul><ul><li>国別のルール適用例 </li></ul></ul>// In your Model App::import('Lib', 'Localized.JpValidation' ); class Post extends AppModel { var $validate = array( 'postal' => array( 'valid' => array( 'rule' => array('postal', null, ' jp '), 'message' => ' 郵便番号が違います ' ) ) );}
  26. 26. CakePHP1.3 New Features <ul><li>Bake </li></ul><ul><ul><li>テンプレート </li></ul></ul><ul><ul><ul><li>コントローラやモデルの雛形を容易にカスタマイズ </li></ul></ul></ul><ul><ul><ul><ul><li>cake/console/templates/default </li></ul></ul></ul></ul><ul><ul><ul><ul><li>例 : 確認画面の処理を含む bake など </li></ul></ul></ul></ul><ul><ul><li>Bake fixture </li></ul></ul><ul><ul><ul><li>Fixture のみを生成 </li></ul></ul></ul><ul><ul><ul><li>ダミーデータや実 DB データをセット可能 </li></ul></ul></ul><ul><ul><ul><ul><li>bake fixture -records で実 DB データセット </li></ul></ul></ul></ul>
  27. 27. CakePHP1.3 New Features <ul><li>他にも色々新機能があります </li></ul><ul><ul><li>JsHelper </li></ul></ul><ul><ul><ul><li>Jquery, Prototype, Mootools を透過的に扱う </li></ul></ul></ul><ul><ul><ul><ul><li>$js->get('#foo')->event('click', $eventCode); </li></ul></ul></ul></ul><ul><ul><li>Helper::assetTimestamp($path) </li></ul></ul><ul><ul><ul><li>CSS や画像の URL にタイムスタンプ追加 </li></ul></ul></ul><ul><ul><li>App::import(' Lib ', 'fooBar'); </li></ul></ul><ul><ul><ul><li>imports app/ libs /foo_bar.php </li></ul></ul></ul><ul><ul><li>Validation::ip($someAddress, 'IPv4'); //IPv6 もあるよ </li></ul></ul>
  28. 28. CakePHP1.3 New Features <ul><li>より詳細な情報は New features in CakePHP 1.3 参照 </li></ul><ul><ul><li>CakeBook 11.2 章 付録 </li></ul></ul><ul><ul><ul><li>日本語 </li></ul></ul></ul><ul><ul><ul><ul><li>http://book.cakephp.org/ja/view/1572/New-features-in-CakePHP-1-3 </li></ul></ul></ul></ul><ul><ul><ul><li>英語 </li></ul></ul></ul><ul><ul><ul><ul><li>http://book.cakephp.org/view/1572/New-features-in-CakePHP-1-3 </li></ul></ul></ul></ul>
  29. 29. Topic <ul><li>CakePHP History </li></ul><ul><li>CakePHP1.3 Resources </li></ul><ul><li>CakePHP1.3 New Features </li></ul><ul><li>CakePHP1.3 Migration </li></ul>
  30. 30. CakePHP1.3 Change from 1.2 <ul><ul><li>Helper, Component の自動読み込み廃止 </li></ul></ul><ul><ul><ul><li>Session, html ヘルパー、 Session コンポーネント </li></ul></ul></ul><ul><ul><li>del() は delete() に </li></ul></ul><ul><ul><ul><li>$this->Session->delete(); </li></ul></ul></ul><ul><ul><ul><li>Model->delete(); </li></ul></ul></ul><ul><ul><li>View </li></ul></ul><ul><ul><ul><li>Helper 呼び出し $this->Helper->method() </li></ul></ul></ul><ul><ul><ul><li>$this->element() (renderElement() の廃止 ) </li></ul></ul></ul><ul><ul><ul><li>echo $this->Session->flash(); </li></ul></ul></ul>
  31. 31. CakePHP1.3 Change from 1.2 <ul><li>タイトル </li></ul><ul><ul><li>Controller::pageTitle 廃止 </li></ul></ul><ul><ul><li>$this->set('title_for_layout', $var); </li></ul></ul><ul><li>SQL ダンプ表示は Layout に下記必須 </li></ul><ul><ul><li><?php echo $this->element('sql_dump'); ?> </li></ul></ul><ul><li>Find </li></ul><ul><ul><li>findAll は、 find('all') に </li></ul></ul>
  32. 32. CakePHP1.3 Change from 1.2 <ul><li>Bootstrap </li></ul><ul><ul><li>フォルダ構成を自由に定義可能 </li></ul></ul><ul><ul><ul><li>plugin, model, view, controller, datasource, behavior, component, helper, vendor, shell, locale </li></ul></ul></ul><ul><ul><li>複数 Path 定義可能 </li></ul></ul>App::build(array( 'plugins' => array('/full/path/to/plugins/', '/next/full/path/to/plugins/'), 'models' => array('/full/path/to/models/', '/next/full/path/to/models/'), 'controllers' => array('/full/path/to/controllers/', '/next/full/path/to/controllers/'), 'behaviors' => array('/full/path/to/behaviors/', '/next/full/path/to/behaviors/'), 'helpers' => array('/full/path/to/helpers/', '/next/full/path/to/helpers/'), ));
  33. 33. Migration CakePHP1.2 to 1.3 <ul><li>より詳細な情報はマイグレーションガイドを参照 </li></ul><ul><ul><li>CakeBook の 11.1 章 付録 </li></ul></ul><ul><ul><ul><li>英語 </li></ul></ul></ul><ul><ul><ul><ul><li>http://book.cakephp.org/view/1561/Migrating-from-CakePHP-1-2-to-1-3 </li></ul></ul></ul></ul><ul><ul><ul><li>日本語 </li></ul></ul></ul><ul><ul><ul><ul><li>http://book.cakephp.org/ja/view/1561/Migrating-from-CakePHP-1-2-to-1-3 </li></ul></ul></ul></ul><ul><li>使用しない方が良い / できないメソッド等の一覧 (MASA-P) </li></ul><ul><ul><li>http://blog.ecworks.jp/archives/1120 </li></ul></ul>
  34. 34. まとめ <ul><li>CakePHP History </li></ul><ul><li>CakePHP1.3 Resources </li></ul><ul><li>CakePHP1.3 New Features </li></ul><ul><ul><li>Routes, Model, Validation, Bake </li></ul></ul><ul><li>CakePHP1.3 Migration </li></ul><ul><ul><li>はまったらすぐにマイグレーションガイド </li></ul></ul>
  35. 35. ありがとうございました Thank you
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×