SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

インフラ自動化とHashicorp tools
インフラ自動化とHashicorp toolsインフラ自動化とHashicorp tools
インフラ自動化とHashicorp toolsUchio Kondo
 
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティtse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティAtsuo Ishimoto
 
NSNotification in Swift #cocoa_kansai
NSNotification in Swift #cocoa_kansaiNSNotification in Swift #cocoa_kansai
NSNotification in Swift #cocoa_kansaiTomohiro Kumagai
 
勉強会0614 vagrant
勉強会0614 vagrant勉強会0614 vagrant
勉強会0614 vagrantYu Ito
 
Swift 2.0 変更点(だいたい)まとめ
Swift 2.0 変更点(だいたい)まとめSwift 2.0 変更点(だいたい)まとめ
Swift 2.0 変更点(だいたい)まとめKen Toriumi
 

Tendances (7)

インフラ自動化とHashicorp tools
インフラ自動化とHashicorp toolsインフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
 
Symfony2 behat-bdd
Symfony2 behat-bddSymfony2 behat-bdd
Symfony2 behat-bdd
 
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティtse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティ
 
Start-padrino
Start-padrinoStart-padrino
Start-padrino
 
NSNotification in Swift #cocoa_kansai
NSNotification in Swift #cocoa_kansaiNSNotification in Swift #cocoa_kansai
NSNotification in Swift #cocoa_kansai
 
勉強会0614 vagrant
勉強会0614 vagrant勉強会0614 vagrant
勉強会0614 vagrant
 
Swift 2.0 変更点(だいたい)まとめ
Swift 2.0 変更点(だいたい)まとめSwift 2.0 変更点(だいたい)まとめ
Swift 2.0 変更点(だいたい)まとめ
 

En vedette

Awesome PHP extensions! Top 50!
Awesome PHP extensions! Top 50!Awesome PHP extensions! Top 50!
Awesome PHP extensions! Top 50!sasezaki
 
phpcon2013_zf
phpcon2013_zfphpcon2013_zf
phpcon2013_zfsasezaki
 
Phpstudy44 Zend Frameworkが抱えている問題は多い。
Phpstudy44 Zend Frameworkが抱えている問題は多い。Phpstudy44 Zend Frameworkが抱えている問題は多い。
Phpstudy44 Zend Frameworkが抱えている問題は多い。sasezaki
 
HTTPメッセージ、PHPの 事情ば分かっとっと?
HTTPメッセージ、PHPの 事情ば分かっとっと?HTTPメッセージ、PHPの 事情ば分かっとっと?
HTTPメッセージ、PHPの 事情ば分かっとっと?sasezaki
 
これからのPHPライブラリとパッケージマネージメントの話をしよう
これからのPHPライブラリとパッケージマネージメントの話をしようこれからのPHPライブラリとパッケージマネージメントの話をしよう
これからのPHPライブラリとパッケージマネージメントの話をしようsasezaki
 
PHP Conference Japan 2010 : Zend Framewrok
PHP Conference Japan 2010 : Zend FramewrokPHP Conference Japan 2010 : Zend Framewrok
PHP Conference Japan 2010 : Zend Framewroksasezaki
 
PHP 触れてはいけないほうの闇の話
PHP 触れてはいけないほうの闇の話PHP 触れてはいけないほうの闇の話
PHP 触れてはいけないほうの闇の話sasezaki
 
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。sasezaki
 
このPHP拡張がすごい!2017
このPHP拡張がすごい!2017このPHP拡張がすごい!2017
このPHP拡張がすごい!2017sasezaki
 

En vedette (9)

Awesome PHP extensions! Top 50!
Awesome PHP extensions! Top 50!Awesome PHP extensions! Top 50!
Awesome PHP extensions! Top 50!
 
phpcon2013_zf
phpcon2013_zfphpcon2013_zf
phpcon2013_zf
 
Phpstudy44 Zend Frameworkが抱えている問題は多い。
Phpstudy44 Zend Frameworkが抱えている問題は多い。Phpstudy44 Zend Frameworkが抱えている問題は多い。
Phpstudy44 Zend Frameworkが抱えている問題は多い。
 
HTTPメッセージ、PHPの 事情ば分かっとっと?
HTTPメッセージ、PHPの 事情ば分かっとっと?HTTPメッセージ、PHPの 事情ば分かっとっと?
HTTPメッセージ、PHPの 事情ば分かっとっと?
 
これからのPHPライブラリとパッケージマネージメントの話をしよう
これからのPHPライブラリとパッケージマネージメントの話をしようこれからのPHPライブラリとパッケージマネージメントの話をしよう
これからのPHPライブラリとパッケージマネージメントの話をしよう
 
PHP Conference Japan 2010 : Zend Framewrok
PHP Conference Japan 2010 : Zend FramewrokPHP Conference Japan 2010 : Zend Framewrok
PHP Conference Japan 2010 : Zend Framewrok
 
PHP 触れてはいけないほうの闇の話
PHP 触れてはいけないほうの闇の話PHP 触れてはいけないほうの闇の話
PHP 触れてはいけないほうの闇の話
 
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
 
このPHP拡張がすごい!2017
このPHP拡張がすごい!2017このPHP拡張がすごい!2017
このPHP拡張がすごい!2017
 

Similaire à "More" Introduction to Zend Tool

ZFS on Linux @ZFS Day 2011.10
ZFS on Linux @ZFS Day 2011.10ZFS on Linux @ZFS Day 2011.10
ZFS on Linux @ZFS Day 2011.10Kazuhisa Hara
 
Serf<s>のことも時々でいいので思い出してください </s>を使ってみよう
Serf<s>のことも時々でいいので思い出してください</s>を使ってみようSerf<s>のことも時々でいいので思い出してください</s>を使ってみよう
Serf<s>のことも時々でいいので思い出してください </s>を使ってみようskipping classes
 
Tokyo SFDG Meetup#16 / Release Note, Einstein Platform Service
Tokyo SFDG Meetup#16 / Release Note, Einstein Platform ServiceTokyo SFDG Meetup#16 / Release Note, Einstein Platform Service
Tokyo SFDG Meetup#16 / Release Note, Einstein Platform ServiceTakahiro Yonei
 
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudyPHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudyHikari Fukasawa
 
anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件y-uti
 
GNU Make でも使ってみようか
GNU Make でも使ってみようかGNU Make でも使ってみようか
GNU Make でも使ってみようかY M
 
Swiftからlibuvを呼び出すTIPS
Swiftからlibuvを呼び出すTIPSSwiftからlibuvを呼び出すTIPS
Swiftからlibuvを呼び出すTIPSjugemjugemjugem
 
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!KLab株式会社
 
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介sters
 
php-src の歩き方
php-src の歩き方php-src の歩き方
php-src の歩き方do_aki
 
Open shiftoriginquickstart clouddevelopercircle_20170920
Open shiftoriginquickstart clouddevelopercircle_20170920Open shiftoriginquickstart clouddevelopercircle_20170920
Open shiftoriginquickstart clouddevelopercircle_20170920kei omizo
 
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】Masahito Zembutsu
 
最近作ったもの
最近作ったもの最近作ったもの
最近作ったものonozaty
 
Android Dev Tools Knowledge
Android Dev Tools KnowledgeAndroid Dev Tools Knowledge
Android Dev Tools KnowledgeShinobu Okano
 
Rails解説セミナー: Railsアプリケーションのデバッグ
Rails解説セミナー: RailsアプリケーションのデバッグRails解説セミナー: Railsアプリケーションのデバッグ
Rails解説セミナー: RailsアプリケーションのデバッグYohei Yasukawa
 
そろそろRStudioの話
そろそろRStudioの話そろそろRStudioの話
そろそろRStudioの話Kazuya Wada
 
Serfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwwwSerfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwwwMasahito Zembutsu
 

Similaire à "More" Introduction to Zend Tool (20)

ZFS on Linux @ZFS Day 2011.10
ZFS on Linux @ZFS Day 2011.10ZFS on Linux @ZFS Day 2011.10
ZFS on Linux @ZFS Day 2011.10
 
Serf<s>のことも時々でいいので思い出してください </s>を使ってみよう
Serf<s>のことも時々でいいので思い出してください</s>を使ってみようSerf<s>のことも時々でいいので思い出してください</s>を使ってみよう
Serf<s>のことも時々でいいので思い出してください </s>を使ってみよう
 
Tokyo SFDG Meetup#16 / Release Note, Einstein Platform Service
Tokyo SFDG Meetup#16 / Release Note, Einstein Platform ServiceTokyo SFDG Meetup#16 / Release Note, Einstein Platform Service
Tokyo SFDG Meetup#16 / Release Note, Einstein Platform Service
 
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudyPHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
 
anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件
 
OSC福岡 20111203
OSC福岡 20111203OSC福岡 20111203
OSC福岡 20111203
 
GNU Make でも使ってみようか
GNU Make でも使ってみようかGNU Make でも使ってみようか
GNU Make でも使ってみようか
 
Swiftからlibuvを呼び出すTIPS
Swiftからlibuvを呼び出すTIPSSwiftからlibuvを呼び出すTIPS
Swiftからlibuvを呼び出すTIPS
 
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!
 
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
 
php-src の歩き方
php-src の歩き方php-src の歩き方
php-src の歩き方
 
Open shiftoriginquickstart clouddevelopercircle_20170920
Open shiftoriginquickstart clouddevelopercircle_20170920Open shiftoriginquickstart clouddevelopercircle_20170920
Open shiftoriginquickstart clouddevelopercircle_20170920
 
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
 
最近作ったもの
最近作ったもの最近作ったもの
最近作ったもの
 
Android Dev Tools Knowledge
Android Dev Tools KnowledgeAndroid Dev Tools Knowledge
Android Dev Tools Knowledge
 
Rails解説セミナー: Railsアプリケーションのデバッグ
Rails解説セミナー: RailsアプリケーションのデバッグRails解説セミナー: Railsアプリケーションのデバッグ
Rails解説セミナー: Railsアプリケーションのデバッグ
 
そろそろRStudioの話
そろそろRStudioの話そろそろRStudioの話
そろそろRStudioの話
 
Fn project爆誕
Fn project爆誕Fn project爆誕
Fn project爆誕
 
BBBBB
BBBBBBBBBB
BBBBB
 
Serfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwwwSerfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwww
 

"More" Introduction to Zend Tool