• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
"More" Introduction to Zend Tool
 

"More" Introduction to Zend Tool

on

  • 2,201 views

 

Statistics

Views

Total Views
2,201
Views on SlideShare
1,986
Embed Views
215

Actions

Likes
0
Downloads
5
Comments
0

2 Embeds 215

http://d.hatena.ne.jp 207
http://www.slideshare.net 8

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

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

    "More" Introduction to Zend Tool "More" Introduction to Zend Tool Presentation Transcript

    • Zend_Tool超入門 Introduction to Zend_Tool Zend Framework meetings(in Japan)#2 - March 6, 2010
    • Who are you? My Talks about ZF ➢      sasezaki ➢ I'm not PHP'er !? ➢ creating.. Spidering PHP Library - “Diggin”. http://diggin.musicrider.com/ Web::Collector のZFのポート の話もしてます
    • Zend_Tool ZF1.10以上の話
    • What is Zend_Tool ? Zend_Toolとは、Zend Framework用コマンドラインツール そもそも、Zend_Console_Getoptの作者であり、ZF1.8より前のリードメンテナー Wil Sinclair(最近 lithuimに参画しましたけどなんか話題になってませんね!!!1)が、Zend_Consoleとしてコマンドライ ンツールが作成が開始されたもののリリースにはいたらず、Zend_DbのリードRalph Schindler がメインメンテナーとして、Zend_Toolというコンポーネントとして作成されました。プロポーザル期 のwikiのページをに載ってたと思いますが、symfonyやcakephpそれにdjangoなどのフレームワー クを研究(? 使ってみただけ感はあるけど)して開発に取り組んでるんですよね。もちろんRalphだ けじゃなく今や Doctrine コミッターになったbeberleiなどのちゃちゃ入れも入ってたりします。 初期のバージョンであるZF1.6はlaboratoryに付属しはじめ、うっかり初期のものに手をだしちゃっ た、phpcredits()の一人でPHPセキュリティーでも知られる yohgakiさんをちょっと 苦しめた不安定さがあったものの、まあさすがに1.10にもなると、安定・・(あ、またバグっ 長いので略。 ぽいものが!)、てまたtrunkに追加されとるやんかー。というZFには珍しく?未だにバージョンアッ プをしてる恐ろしいコンポーネント。ラルフのスライド http://www.slideshare.net/ralphschindler/extending-zendtool では、Rapid application developmentの文字が踊ってたりしますが、ご存知のとおりZF1.10より前 ではインクルードパス総読みしまってて、型落ちしたパソコンでコマンドを走らせると来ない2,3分 レスポンスが帰って ナウでヤングな コンピューター以外を相手にしない、どこが Rapidやねんとつっこみたくなる遅さがありましたが、ZF1.10ではBase Loaderが導入されてまあま あ遅くはないかなあという感じになりました。1.10では搭載されたシステムプロパイダーの数も増 えてぐぐっと増えて、使える(canじゃなくてuseful)感じになってきたかなあと思います。まあ、create 系のコマンドばっかりですが。。。ソース内部をご覧になれば分かるとおり、Zend_Tool内部で Tooling Frameworkというコントローラっぽい何かがリクエストからdispatchするという形式をとって おり、CLIにもGTKにも対応してるのはZend_Controllerだけ!(○○先生の作品が読めるのはジャ ンプだけ風)と思っていたZFユーザを一瞬へなへなさせる疎結合っぷりだったりしますが、
    • zfコマンドのグローバルオプション Usage: zf [--global-opts] action-name [--action-opts] provider-name [--provider-opts] [provider parameters ...] Note: You may use "?" in any place of the above usage string to ask for more specific help information. Example: "zf ? version" will list all available actions for the version provider. ヘルプの表示 ● $zf --help ↓(e.g.) $zf --help show version zfコマンド用(ツーリングクライアント)のセットアップ ● (以下のはオプションについてはzf.phpにコーディングされている。) $zf --info $zf --setup
    • プロパイダーによるコマンドの利用 マニフェスト一覧の取得 コマンド全ての詳細を知りたい場合に利用 $zf show manifest zfのヴァージョンが1系統か2系統か知りたい!しかも表示す るときは名前は表示しないで欲しい!そんな時は・・ (ないがな) ・ $zf show version.major-part -n 0  参考  manual/ja/zend.tool.usage.cli.html http://d.hatena.ne.jp/noopable/20100113/1263395986  http://codezine.jp/article/detail/4489
    • プロパイダーを作る・利用可能にする(1) $zf say hello --name wozozo provider action 引数 内部でZend_Console_Getoptを利用
    • プロパイダーを作る・利用可能にする(2) コンフィグファイル(.zf.ini)を作成していない場合以下のコマン ドにて作成 $zf --setup config-file コンフィグに作成したプロパイダーを追加 $zf enable config.provider My_Component_HelloProvider コンフィグファイルに basicloader.classes.0 = "My_Component_Provider" という形式で追加される。
    • プロパイダーを作る・利用可能にする(3) Hello World以外のプロパイダーの作成 Zend_Applicationと Zend_Cache_Managerによる $zf clear cache $zf clean cache の作成(ネタ)
    • プロパイダーを作る・利用可能にする(4) ZF 1.10ではアプリケーション用のテンプレート構 成とCache群を扱うZend_Cache_Managerが同梱。 また、このManagerを利用する Zend_Application_Resource_Cachemanager がついてきます! つまりCacheを一連して操作するコマンドも作れる という図式(ただし、Zend_Application利用してる場合に限る) ※ Zend_Cache_Managerについては未翻訳ですので翻訳してい ただける方を求めています! 翻訳については http://d.hatena.ne.jp/satoruyoshida/20100130/1264859250
    • プロパイダーを作る・利用可能にする(5) 特定のプロジェクトディレクトリ下でのみ特定のプロ パイダーを読み込ませる場合の おばあちゃんの知恵袋的対応
    •  Zend_Application利用のプロパイダー(てきとーなサンプル)  ※ まっとうな方法はnoopableさんがきっとやってます!  Actionについては省略します。(specialitiesやpretendなどを組み合わせて細かいことができます)
    • …ということでプロパイダーの完成
    • 映像特典 (おまけ)
    • 「Zend Frameworkはフレームワークを 作るためのフレームワークだからコマンドライ ンツールだってオレオレコマンド名で作りた い!!!!」                   ・・・ですよね!? しかし、 1.10のZFクラスならびにZend_Tool_Frameworkでは ”zf”コマンド名が直書き… 悲しいですね。 ↓ そんな貴方のためにzfコマンドの拡張をご用意しました。
    • 詳しくはWebで http://github.com/sasezaki/Diggin_Tool