CakePHP Console Application 拡張Tips

67 %
33 %
Information about CakePHP Console Application 拡張Tips

Published on March 14, 2009

Author: k1LoW

Source: slideshare.net

Description

CakePHP勉強会@福岡

CakePHP Console Application 拡張Tips Kenichirou Oyama (k1LoW) CakePHP Lightning Talks 2009.3.13 1

自己紹介 type: プログラマ language: PHP 2y+ / CakePHP 2y / etc.. EmacsのCakePHPマイナーモード cake.elを作っていたりします membership: Fusic Co.,Ltd >> http://fusic.co.jp codecheck.in >> http://trac.codecheck.in and 101000code / 3rdSTONE CakePHP Lightning Talks 2009.3.13 2

CakePHPコンソールアプリケー ション bakeに代表されるCakePHP がもつquot;shellから実行するquot; アプリケーションquot; PHPスクリプト Shellクラスを継承している CakePHP Lightning Talks 2009.3.13 3

bake CakePHPのソースコード自 動生成コンソールアプリ ケーション データベースの情報から Model,View,Controllerだけ でなくテストケースの雛形も 生成してくれる CakePHP Lightning Talks 2009.3.13 4

i18n CakePHPの多言語機能用のpo ファイル自動生成コンソールアプ リケーション quot;__('Model Name')quot;のようにくくられた文字 列をパースしてpoファイルを自動作成 文字列に対応した翻訳文字列を設定すれば、 システム全体に反映される poファイル:(例えば)英語とその訳語の対を保 持している多言語対応用辞書ファイル CakePHP Lightning Talks 2009.3.13 5

bakeの便利さ 生成したソースは生成プログラム が正しければ必ず動く CakePHP1.2から生成するソース のテンプレートが切り出されてい る cake/console/templates/ 1.1系のdecorate.phpのように、よ り使いやすいソースを生成する bakeに拡張が可能。 CakePHP Lightning Talks 2009.3.13 6

demo CakePHP Lightning Talks 2009.3.13 7

i18nの便利さ 文言の統一が1ファイルの管理のみで 可能(DBでも可能) __('ERORR:01')といったエラーコー ドなどでもあとで1行設定するだけで 日本語メッセージに変更可能 __('ERORR:01')と__('ERORR:02')と いったシステム的には異なるエラー コードをあとで2行設定するだけで同 じ日本語メッセージに変更可能 CakePHP Lightning Talks 2009.3.13 8

demo CakePHP Lightning Talks 2009.3.13 9

bake+i18n Tips bakeしてそのまま(少なくとも管理画面で は)使えるような形にtemplatesを拡張 必ず__()で囲める部分は囲んだソース生成を するようにする(i18nとの連携のため) 各メンバーは開発中もi18nの活用をあら かじめ想定したコーディングを進める(必 ず__()で囲む) 適宜poファイルに変換文字列を設定して いく CakePHP Lightning Talks 2009.3.13 10

bake+i18n Tips 初めは英語やエラーコードの羅列 機能を優先的に実装 開発に余裕が出てきたところで変 換文字列を設定していく ソースコードが増える度にpo ファイルを更新していく 多言語機能の使い方としてはイレ ギュラーな活用 CakePHP Lightning Talks 2009.3.13 11

bake+i18n 初めは英語やエラーコードの羅列 機能を優先的に実装 余裕が出てきたところで変換文字 列を設定していく ソースコードが増える度にpo ファイルを更新していく 多言語機能の使い方としてはイレ ギュラーな活用 CakePHP Lightning Talks 2009.3.13 12

poファイルのマージ問題 現状のCakePHPのi18nコン ソールにはpoファイルの マージ機能はない(はず) 上書きのみ 今まで設定した変更文字列 が消えてしまう。 CakePHP Lightning Talks 2009.3.13 13

$cake merge 2つのpoファイルをマージする PHPのarray_merge()を使用 bakeライクインターフェース Shellクラスを継承して作成 マージファイルのパスを初期値と して設定可能 がんがんマージできる CakePHP Lightning Talks 2009.3.13 14

demo CakePHP Lightning Talks 2009.3.13 15

おわりに CakePHPはすごい。 自動生成は楽。 でももっと楽にできるはず。 そのためなら苦労は厭わない。 楽できたらその分CakePHPのコー ドを読んで、もっと楽できる道を 探せる(「ソース読め」の精神)。 CakePHP Lightning Talks 2009.3.13 16

ご静聴ありがとうございました CakePHP Lightning Talks 2009.3.13 17

Add a comment

Related presentations

Related pages

Shells, Tasks & Console Tools — CakePHP Cookbook 2.x ...

CakePHP applications contain a Console directory that contains all the shells and tasks for an application. It also comes with an executable:
Read more

シェルとタスクとコンソール — CakePHP ...

... xampphtdocscakephplibCakeConsole. マイコンピュータからシステムのプロパティを開きます。
Read more

CakePHP勉強会@福岡に参加しました&発表資料 ...

... 余裕が無かったのですが、福岡開催かつCakePHP+PostgreSQLイベントということでむ ... CakePHP Console Application 拡張Tips.
Read more

CakePHP v3.1 - the rapid development php framework.

CakePHP makes building web applications simpler, ... CakePHP is a modern PHP 5.4+ framework with a flexible Database access layer and a powerful ...
Read more

CakePHP勉強会@福岡に参加してきました ...

CakePHP Console Application 拡張Tips k1Lowさん 当日、言いそびれましたが poファイルのマージ はpot ... CakePHP勉強会@福岡 ...
Read more

CakePHP勉強会@福岡 - events.php.gr.jp

タイトル「CakePHP Console Application 拡張Tips」 発表者名 k1LoW 発表2 タイトル「pgpool-IIとSlony-IでCakePHP」 発表者名 shin1x1
Read more

CakePHP

Console. Command; Controller; Model; View. Helper; Cake. Cache. Engine; Configure; Console. Command. Task; Controller. ... Generated using CakePHP API Docs ...
Read more

Documentation - CakePHP v3.0 - the rapid development php ...

Contributing. The source for the CakePHP book is hosted on GitHub. If you'd like to help out improving the documentation, checkout the guide on ...
Read more