Cakephp tokyo5
Upcoming SlideShare
Loading in...5
×
 

Cakephp tokyo5

on

  • 6,644 views

 

Statistics

Views

Total Views
6,644
Views on SlideShare
6,470
Embed Views
174

Actions

Likes
0
Downloads
24
Comments
0

2 Embeds 174

http://www.slideshare.net 173
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Cakephp tokyo5 Cakephp tokyo5 Presentation Transcript

  • 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 ( CakePHP 、 MongoDB ) http://d.hatena.ne.jp/cakephper
  • Self-introduction
    • I've used the Cakephp since Aug 2008.
    • Author of the SQL Explain Component
    • -> Contributor of the Debug_kit
    • Author of the Cakephp MongoDB-Datasource
    • My code for Cakephp
    • http://github.com/ichikaway
    • XformHelper
    • MongoDB-Datasource
    • cakeplus
  • Topic
    • CakePHP History
    • CakePHP1.3 Resources
    • CakePHP1.3 New Features
    • CakePHP1.3 Migration
  • CakePHP History
    • CakePHP1.2
      • Stable Release(2008/12)
    • CakePHP1.3
      • Stable Release(2010/4)
      • PHP4, 5
    • CakePHP2.0
      • PHP5.2
  • CakePHP History
    • CakePHP1.3 Stable Release(1.5 year)
        • Thanks a lot, Cakephp Team!
    • Contribution
        • Code
        • Ticket/Patch
        • Document / Translation
        • Donation
  • 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
    • CakePHP History
    • CakePHP1.3 Resources
    • CakePHP1.3 New Features
    • CakePHP1.3 Migration
  • CakePHP1.3 Resources
    • Cakephp Core Code
      • よく分からない場合はコードを見た方が早い
      • http ://github.com/cakephp/cakephp
    • API マニュアル
      • 各クラスの説明、メソッドの説明
      • ここにしか書いていない情報もある
      • http://api.cakephp.org
    • Cake CookBook
      • Cake の解説、チュートリアル
      • 英語版と日本語版の不整合に注意
      • http ://book.cakephp.org/view/875/x1-3-Collection
  • CookBook difference JP/EN
  • Topic
    • CakePHP History
    • CakePHP1.3 Resources
    • CakePHP1.3 New Features
    • CakePHP1.3 Migration
  • CakePHP1.3 New Features
    • Routes
    • Virtual Fields
    • Validation
    • Bake
    • etc
    http://book.cakephp.org/ja/view/1572/New-features-in-CakePHP-1-3
  • CakePHP1.3 New Features
    • Routes
      • Prefix Routing
        • Admin ルーティングと同じ扱いに
      • RouteClass
        • ルーティング処理マッチング時に自作クラス呼び出し
        • DB の値を見てマッチング処理を行うなど
          • 例 1: 該当の slug が DB にあれば routing する
          • 例 2: url の一部変更でリダイレクト
  • CakePHP1.3 New Features
    • RouteClass
      • config/routes.php
    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') );
  • CakePHP1.3 New Features
    • RouteClass
      • app/libs/routes/slug_route.php
    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; }}
  • CakePHP1.3 New Features
    • Virtual Fields
      • DB カラムを仮想定義して、 Field として扱える
      • Field で表示する内容は SQL 文で定義
        • 例: fullname カラムに姓名を表示
        • 'fullname' => “CONCAT(User.Fname, ' ', User.Lname)”
      • 参考:「 VitualFields を使おう!」 hiromi2424 さん
        • http://d.hatena.ne.jp/hiromi2424/20100204/1265274976
  • CakePHP1.3 New Features
    • Validation
      • マルチバイト対応
        • maxLength() などは mb_strlen() を利用
        • mb_strlen() が定義されてなければマルチバイトクラスの Multibyte::strlen() を利用
      • 国別のルールを適用
            • Phone, postcode, SSN
            • 国別のマッチングルールを適用可能
        • 例:日本の postcode なら 222-3333 というルール
        • http://github.com/cakephp/localized
  • CakePHP1.3 New Features
    • Validation
      • 国別のルール適用例
    // 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' => ' 郵便番号が違います ' ) ) );}
  • CakePHP1.3 New Features
    • Bake
      • テンプレート
        • コントローラやモデルの雛形を容易にカスタマイズ
          • cake/console/templates/default
          • 例 : 確認画面の処理を含む bake など
      • Bake fixture
        • Fixture のみを生成
        • ダミーデータや実 DB データをセット可能
          • bake fixture -records で実 DB データセット
  • CakePHP1.3 New Features
    • 他にも色々新機能があります
      • JsHelper
        • Jquery, Prototype, Mootools を透過的に扱う
          • $js->get('#foo')->event('click', $eventCode);
      • Helper::assetTimestamp($path)
        • CSS や画像の URL にタイムスタンプ追加
      • App::import(' Lib ', 'fooBar');
        • imports app/ libs /foo_bar.php
      • Validation::ip($someAddress, 'IPv4'); //IPv6 もあるよ
  • CakePHP1.3 New Features
    • より詳細な情報は New features in CakePHP 1.3 参照
      • CakeBook 11.2 章 付録
        • 日本語
          • http://book.cakephp.org/ja/view/1572/New-features-in-CakePHP-1-3
        • 英語
          • http://book.cakephp.org/view/1572/New-features-in-CakePHP-1-3
  • Topic
    • CakePHP History
    • CakePHP1.3 Resources
    • CakePHP1.3 New Features
    • CakePHP1.3 Migration
  • CakePHP1.3 Change from 1.2
      • Helper, Component の自動読み込み廃止
        • Session, html ヘルパー、 Session コンポーネント
      • del() は delete() に
        • $this->Session->delete();
        • Model->delete();
      • View
        • Helper 呼び出し $this->Helper->method()
        • $this->element() (renderElement() の廃止 )
        • echo $this->Session->flash();
  • CakePHP1.3 Change from 1.2
    • タイトル
      • Controller::pageTitle 廃止
      • $this->set('title_for_layout', $var);
    • SQL ダンプ表示は Layout に下記必須
      • <?php echo $this->element('sql_dump'); ?>
    • Find
      • findAll は、 find('all') に
  • CakePHP1.3 Change from 1.2
    • Bootstrap
      • フォルダ構成を自由に定義可能
        • plugin, model, view, controller, datasource, behavior, component, helper, vendor, shell, locale
      • 複数 Path 定義可能
    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/'), ));
  • Migration CakePHP1.2 to 1.3
    • より詳細な情報はマイグレーションガイドを参照
      • CakeBook の 11.1 章 付録
        • 英語
          • http://book.cakephp.org/view/1561/Migrating-from-CakePHP-1-2-to-1-3
        • 日本語
          • http://book.cakephp.org/ja/view/1561/Migrating-from-CakePHP-1-2-to-1-3
    • 使用しない方が良い / できないメソッド等の一覧 (MASA-P)
      • http://blog.ecworks.jp/archives/1120
  • まとめ
    • CakePHP History
    • CakePHP1.3 Resources
    • CakePHP1.3 New Features
      • Routes, Model, Validation, Bake
    • CakePHP1.3 Migration
      • はまったらすぐにマイグレーションガイド
  • ありがとうございました Thank you