• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Cakephp tokyo5
 

Cakephp tokyo5

on

  • 6,538 views

 

Statistics

Views

Total Views
6,538
Views on SlideShare
6,364
Embed Views
174

Actions

Likes
0
Downloads
22
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