2007/05/31
カテゴリ : Tech
PHP
Piece Framework
Piece Framework用スケルトン作成スクリプト
こんにちは、最近Piece FrameworkというPHP用フレームワークを使いはじめた高橋です。
このフレームワークは、一連の処理の流れを管理する機構が盛り込まれていて、CSRF対策や同一登録画面の並行動作といった面倒な処理を、自分で記述することなく実現することができるので、とっても便利です。
そんなPiece Frameworkを使って何か新しく画面を作成する場合、
・エントリーファイル
・アクションファイル
・フロー定義ファイル
・バリデーション定義ファイル
・テンプレートファイル
といったファイルを作成することになるのですが、おっちょこちょいな私は、各ファイルの作成忘れやフロー名のタイプミスなどで、エラー画面を見ることも多かったりします。
そのうち自動で各ファイルを生成してくれるツールが提供されるものと思ってはいるのですが、それまでの繋ぎとして、雛形となるファイルを各ディレクトリへコピーするスクリプトを作ってみました。
piece-gen-20070531.tar.gz
使い方ですが、まず、ダウンロードしたファイルを好きな場所に展開します。今回は「/var/www/」へ展開することにします。
すると、下記のディレクトリとファイルが作成されます。
次に「piece-gen.php」内に記述されているスケルトンディレクトリとAUTHORの値を適宜書き換えます。
それにしても、自分で言うのもなんですが、やっつけ感溢れる汚いソースコードですね(^^;
オブジェクト指向で書かれたPiece Frameworkの綺麗なソースコードとは大違いです。
もともと自分用に作った使い捨てスクリプトですので、お見苦しい点はご容赦ください。
あとは
・piece-gen/skel/htdocs/flowname.php
・piece-gen/skel/webapp/actions/FlowNameAction.php
・piece-gen/skel/webapp/config/flows/FlowName.yaml
・piece-gen/skel/webapp/config/validations/ValidationName.yaml
・piece-gen/skel/webapp/templates/FlowName/*.html
の各ファイルを、雛形としてよく使用するファイルの内容に書き換えます。その際、「%%FLOW_NAME%%」や「%%AUTHOR%%」を置換したい箇所に記述しておきます。
では、これで準備が終わりましたので、実際に動かしてみましょう。開発するアプリケーションの構成が
となっている場合、examplesディレクトリへ移動して、piece-gen.phpを実行します。
引数はそれぞれフロー名とバリデーション名になり、もしバリデーション定義ファイルが不要な場合は、バリデーション名の引数は省略可能です。
実行が完了すると、
のように画面に表示され、雛形のファイルがexamplesの各ディレクトリへコピーされます。
あとは、表示された最後の三行を「piece-unity-config.yaml」内flowDefinitionsのvalueへ追加してください。
以上、私以外こんなへっぽこなスクリプトを使う人がいるとも思えませんが、どうぞご自由にお使いくださいませ。
このフレームワークは、一連の処理の流れを管理する機構が盛り込まれていて、CSRF対策や同一登録画面の並行動作といった面倒な処理を、自分で記述することなく実現することができるので、とっても便利です。
そんなPiece Frameworkを使って何か新しく画面を作成する場合、
・エントリーファイル
・アクションファイル
・フロー定義ファイル
・バリデーション定義ファイル
・テンプレートファイル
といったファイルを作成することになるのですが、おっちょこちょいな私は、各ファイルの作成忘れやフロー名のタイプミスなどで、エラー画面を見ることも多かったりします。
そのうち自動で各ファイルを生成してくれるツールが提供されるものと思ってはいるのですが、それまでの繋ぎとして、雛形となるファイルを各ディレクトリへコピーするスクリプトを作ってみました。
piece-gen-20070531.tar.gz
使い方ですが、まず、ダウンロードしたファイルを好きな場所に展開します。今回は「/var/www/」へ展開することにします。
- $
cd /var/www/ - $
tar xvzf piece-gen-20070531.tar.gz
すると、下記のディレクトリとファイルが作成されます。
- piece-gen/
- piece-gen/piece-gen.php
- piece-gen/skel
- piece-gen/skel/htdocs
- piece-gen/skel/htdocs/flowname.php
- piece-gen/skel/webapp
- piece-gen/skel/webapp/actions
- piece-gen/skel/webapp/actions/FlowNameAction.php
- piece-gen/skel/webapp/config
- piece-gen/skel/webapp/config/flows
- piece-gen/skel/webapp/config/flows/FlowName.yaml
- piece-gen/skel/webapp/config/validations
- piece-gen/skel/webapp/config/validations/ValidationName.yaml
- piece-gen/skel/webapp/templates
- piece-gen/skel/webapp/templates/FlowName
- piece-gen/skel/webapp/templates/FlowName/Form.html
- piece-gen/skel/webapp/templates/FlowName/Finish.html
- piece-gen/skel/webapp/templates/FlowName/Confirmation.html
次に「piece-gen.php」内に記述されているスケルトンディレクトリとAUTHORの値を適宜書き換えます。
- //
スケルトンファイルのディレクトリ - $CONFIG['skel_dir']
= "/var/www/piece-gen/skel"; ← 展開したskelディレクトリの場所を指定 - //
置換するキーワード - $CONFIG['keywords']
= array( "FLOW_NAME" => $flow_name, "AUTHOR" => "Asial Corporation <info@asial.co.jp>" ← 作成者 - );
それにしても、自分で言うのもなんですが、やっつけ感溢れる汚いソースコードですね(^^;
オブジェクト指向で書かれたPiece Frameworkの綺麗なソースコードとは大違いです。
もともと自分用に作った使い捨てスクリプトですので、お見苦しい点はご容赦ください。
あとは
・piece-gen/skel/htdocs/flowname.php
・piece-gen/skel/webapp/actions/FlowNameAction.php
・piece-gen/skel/webapp/config/flows/FlowName.yaml
・piece-gen/skel/webapp/config/validations/ValidationName.yaml
・piece-gen/skel/webapp/templates/FlowName/*.html
の各ファイルを、雛形としてよく使用するファイルの内容に書き換えます。その際、「%%FLOW_NAME%%」や「%%AUTHOR%%」を置換したい箇所に記述しておきます。
では、これで準備が終わりましたので、実際に動かしてみましょう。開発するアプリケーションの構成が
- /var/www/piece/examples/htdocs
- /var/www/piece/examples/webapp
となっている場合、examplesディレクトリへ移動して、piece-gen.phpを実行します。
引数はそれぞれフロー名とバリデーション名になり、もしバリデーション定義ファイルが不要な場合は、バリデーション名の引数は省略可能です。
- $
cd /var/www/piece/examples/ - $
/var/www/piece-gen/piece-gen.php TestSample ValidationSample
実行が完了すると、
- /var/www/piece-gen/skel/htdocs/flowname.php
-> /var/www/piece/example/htdocs/testsample.php - /var/www/piece-gen/skel/webapp/actions/FlowNameAction.php
-> /var/www/piece/example/webapp/actions/TestSampleAction.php - /var/www/piece-gen/skel/webapp/config/flows/FlowName.yaml
-> /var/www/piece/example/webapp/config/flows/TestSample.yaml - /var/www/piece-gen/skel/webapp/config/validations/ValidationName.yaml
-> /var/www/piece/example/webapp/config/validations/ValidationSample.yaml - /var/www/piece-gen/skel/webapp/templates/FlowName/Confirmation.html
-> /var/www/piece/example/webapp/templates/TestSample/Confirmation.html - /var/www/piece-gen/skel/webapp/templates/FlowName/Finish.html
-> /var/www/piece/example/webapp/templates/TestSample/Finish.html - /var/www/piece-gen/skel/webapp/templates/FlowName/Form.html
-> /var/www/piece/example/webapp/templates/TestSample/Form.html - piece-unity-config.yaml:
- name: TestSample file: ../webapp/config/flows/TestSample.yaml isExclusive: false
のように画面に表示され、雛形のファイルがexamplesの各ディレクトリへコピーされます。
あとは、表示された最後の三行を「piece-unity-config.yaml」内flowDefinitionsのvalueへ追加してください。
以上、私以外こんなへっぽこなスクリプトを使う人がいるとも思えませんが、どうぞご自由にお使いくださいませ。
トラックバックURI
最近の記事
システム開発エンジニア募集! [2012年02月03日 : 小林有佳]
OpenVPNで細々便利な設定 [2012年01月31日 : 門脇優児]
【iOS】Viewの開発・デバッグに役立つ色々 [2012年01月23日 : 中川善樹]
PHPDocumentorの利用方法まとめ [2012年01月19日 : 笹亀弘]
Google Chart Toolsを使ってサイトマップを描こう! [2011年12月21日 : 志田仁美]
stumpwm設定v2 [2011年12月19日 : 門脇優児]
Mashup Awards 7の授賞式が行われました [2011年12月16日 : 中川善樹]
社員旅行に行きました [2011年12月12日 : 大橋寛子]
iCloud風のアイコンを作成する(Fireworks) [2011年12月07日 : 和田記光]
iScroll4でネイティブに近いスマホ向けHTMLページを作成する [2011年12月02日 : 松田惇]













最近のコメント