Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
PhpStormを使おう高槻からは快速急行が早くなります
たなかひさてる@tanakahisateruPinoco developerjs-markdown-extra maintainerPHPTAL contributorFirebug translation contributorYii fra...
私のPHP IDEの歴史• Eclipse PDT以前 (紀元前)• Dreamweaver期• Eclipse PDT期• テキストエディタでいいや期• Coda / Aptana / NetBeans 混乱期
紀元前の話はさておき
Dreamweaver期• テキストエディタのレスポンスが悪すぎ• ビューを書ぐらいしか使う気が起きない• 標準関数しか補完辞書にない• これはエンジニアの使うツールじゃない
Eclipse PDT期• ステップ実行できるデバッガが動いた• 自分で書いたコードからでもそこそこ補完できた• HTMLのバリデータに本当に必要なエラーが埋もれてわからない• フロントエンド技術のサポートが古すぎるせいだ• プラグインを増やさ...
テキストエディタでいいや期• 早すぎた Sublime Text = jEdit (ローカライズしました)• わけわかんないぐらいなら単語レベルの補完で十分• HTML/CSSなどのサポート機能が必要十分• エディタのレスポンスもいいしカスタマ...
蔓延する空気「...でいいや」
そして「...でいいや」からの脱出
「PHPはJavaの次に静的解析しやすい言語。これはRubyが気付いていないPHPの長所」         ―PHPメンターズと朝まで過ごしたときの言葉
Coda• フロントエンド技術はEclipseより少しはマシ• コード解析がまるでない• 所   はテキストエディタ• spl って打ったら split しか出ないとか、SPLなしっていつのPHPですかと• それなのにエディタのカスタマイズがほ...
Aptana• フロントエンド技術はPDTよりはるかに良かった• Rubyのサポートの良さに比べてPHPがひどかった• なぜPDTベースでないのかと小一時間• ターミナルペインを開いてVimを立ち上げて作業するなど
NetBeans• 最低必要なものが最初から   っている• 設定が簡単で操作系もシンプル• フロントエンド技術はそこそこ• プロジェクト外のテキストを開くとShift_JISで解釈されるで、どうやってファイル別にエンコーディグ変えるの??• ...
で、次はPhpStormか... 有料だな...体験期間内に機能把握できそうにないぞ
おや? このFREEってなんだ?
「あのー、すみません、PinocoというプロジェクトがGitHubにあるんですが」
JetBRAINS「そなたにライセンスをさずけよう」
ライセンスもらった   Licensed to Pinoco
PhpStorm• フロントエンド技術のサポートが最高• HTML, JS, CSS + CoffeeScript, LESS, Sass, Haml, Twig, Smarty• フレームワークサポート jQuery, Symfony2, Yi...
NetBeansに対するPhpStormのわかってらっしゃる感 PHPの変数モデルでは、出力引数の宣言とメモリ確保が不要
「Javaとは違うのだよ! Javaとは」
PhpStormを使って実際に良かったこと• CSSの色がわかりやすい            • 問題レポートが分類されている リンクしたクラス名を補完できる リンクリソースへのパスが補完できる        • PHPUnitのカバレッジレポ...
CSSの色がわかりやすい
クラス名を補完できる
リンクリソースへのパスが補完できる
zen-coding       ul#nav.clearfix>li.item*3>a.big.red                     [TAB]
これだけでも十分使える zen-coding               a              [TAB]          <a href=””><a>
PHPはWebのフロント用の言語だからブラウザ側の技術をおろそかにできない
php.net          ここでF1キー
php.net さらにここをクリック
php.net は生きているドキュメント更新/コメントされ続けてるからPHPerには必須
Docコメントの補完         /**[ENTER]
Docコメントの警告 PHPDoc comment does not match function or           method signature
Docコメントの更新
PHPDocは非常に重要=事実上の型宣言。Javaのように静的解析するにはPHPは柔軟すぎ。
「Javaとは違うのだよ! Javaとは」
Gitのステータス
Gitのステータスからの⌘+D
コミットダイアログ            Before Commit              Reformat code              Optimize imports              Perform code anal...
変更したファイルのFTP/SFTPで済むのはある意味PHPのメリットとも言える。活かそう。
問題レポート
問題レポート(さらに分類)
PHPUnitのカバレッジ                77%...これを開く      通ったか通って      ないかで色分け
プロファイラ
デバッガ/プロファイラのブックマークレット http://www.jetbrains.com/phpstorm/marklets/
クラス図
ER図 (厳密にはERじゃないけど)
たまにDBの外部キー制約しかあてにならない長大SQL文字列結合コードが発掘される。
ちょっと便利な ⌘+E   最近アクセスしたファイルとパネル
Pinocoでは実際にPhpStormをコードレビューに使っています
Doc comment reviewed (@2013-01-30)
...でもせっかく (Eclipse|Vim|Emacs) を覚えたのに
「プラグインを作ればできるよ」「Jenkinsのタスクを作ればできるよ」
「だから慣れてるし、これでいいや」
もうやめにしようじゃないか
「...でいいや」と言うために、あなたは時間をどれだけ(Eclipse|Vim|Emacs)に費やしましたか
「...でいいや」と言い続けるために、あなたは今後どれほど(Eclipse|Vim|Emacs)に費やしますか
面倒が多い方を選んでおいて「で、いいや」とはどういうことだろう?
アンチパターン:「で、いいや」逆転の法則
時給換算でどっちが安い?
スキルがもったいないというのは幻想。僕も最初に早くコードを書くのは jEdit を使い、設定ファイルの編集には Vim を使います。
自分に合うIDEを探すことそのものが、自分の技術分野のニーズを知ることでもある。
乗り換えを駆使しよう「高槻からは快速急行が早くなります」
Upcoming SlideShare
Loading in …5
×

PhpStormを使おう --高槻からは快速急行が早くなります #jbugj

49,329 views

Published on

JetBrainsユーザーグループ in 大阪 の PHP セッション

Published in: Technology

PhpStormを使おう --高槻からは快速急行が早くなります #jbugj

  1. 1. PhpStormを使おう高槻からは快速急行が早くなります
  2. 2. たなかひさてる@tanakahisateruPinoco developerjs-markdown-extra maintainerPHPTAL contributorFirebug translation contributorYii framework user
  3. 3. 私のPHP IDEの歴史• Eclipse PDT以前 (紀元前)• Dreamweaver期• Eclipse PDT期• テキストエディタでいいや期• Coda / Aptana / NetBeans 混乱期
  4. 4. 紀元前の話はさておき
  5. 5. Dreamweaver期• テキストエディタのレスポンスが悪すぎ• ビューを書ぐらいしか使う気が起きない• 標準関数しか補完辞書にない• これはエンジニアの使うツールじゃない
  6. 6. Eclipse PDT期• ステップ実行できるデバッガが動いた• 自分で書いたコードからでもそこそこ補完できた• HTMLのバリデータに本当に必要なエラーが埋もれてわからない• フロントエンド技術のサポートが古すぎるせいだ• プラグインを増やさないと機能不足なのに、増やすと設定がカオス化• プロジェクトの定義が難しすぎた
  7. 7. テキストエディタでいいや期• 早すぎた Sublime Text = jEdit (ローカライズしました)• わけわかんないぐらいなら単語レベルの補完で十分• HTML/CSSなどのサポート機能が必要十分• エディタのレスポンスもいいしカスタマイズもすごく効く• プラグインでプロジェクト定義もできる• これは長く続いた
  8. 8. 蔓延する空気「...でいいや」
  9. 9. そして「...でいいや」からの脱出
  10. 10. 「PHPはJavaの次に静的解析しやすい言語。これはRubyが気付いていないPHPの長所」 ―PHPメンターズと朝まで過ごしたときの言葉
  11. 11. Coda• フロントエンド技術はEclipseより少しはマシ• コード解析がまるでない• 所 はテキストエディタ• spl って打ったら split しか出ないとか、SPLなしっていつのPHPですかと• それなのにエディタのカスタマイズがほとんどできないのはひどい• これで有料なのを考えたらjEditのほうがずいぶんマシ
  12. 12. Aptana• フロントエンド技術はPDTよりはるかに良かった• Rubyのサポートの良さに比べてPHPがひどかった• なぜPDTベースでないのかと小一時間• ターミナルペインを開いてVimを立ち上げて作業するなど
  13. 13. NetBeans• 最低必要なものが最初から っている• 設定が簡単で操作系もシンプル• フロントエンド技術はそこそこ• プロジェクト外のテキストを開くとShift_JISで解釈されるで、どうやってファイル別にエンコーディグ変えるの??• かゆいところに手が届かないあの感じ
  14. 14. で、次はPhpStormか... 有料だな...体験期間内に機能把握できそうにないぞ
  15. 15. おや? このFREEってなんだ?
  16. 16. 「あのー、すみません、PinocoというプロジェクトがGitHubにあるんですが」
  17. 17. JetBRAINS「そなたにライセンスをさずけよう」
  18. 18. ライセンスもらった Licensed to Pinoco
  19. 19. PhpStorm• フロントエンド技術のサポートが最高• HTML, JS, CSS + CoffeeScript, LESS, Sass, Haml, Twig, Smarty• フレームワークサポート jQuery, Symfony2, Yii• コード解析と補完が他のどれよりも現実的• PHP事情の追従が速い (PHP5.4, PSR-1/2) バージョン6からは Composer, PHPMess, Yeoman• NetBeansのように機能を減らさない。UIで使いやすく。
  20. 20. NetBeansに対するPhpStormのわかってらっしゃる感 PHPの変数モデルでは、出力引数の宣言とメモリ確保が不要
  21. 21. 「Javaとは違うのだよ! Javaとは」
  22. 22. PhpStormを使って実際に良かったこと• CSSの色がわかりやすい • 問題レポートが分類されている リンクしたクラス名を補完できる リンクリソースへのパスが補完できる • PHPUnitのカバレッジレポートがエデ zen-coding ィタと連携• F1キーでphp.netのドキュメントが出 • プロファイラのデータを見るビュー てくる がエディタと連携• Docコメントのサポートが強い • クラス図も作れるけどER図がなにげ に便利• Gitのステータスがその場に見えてる コミット前後にいろいろやってくれる
  23. 23. CSSの色がわかりやすい
  24. 24. クラス名を補完できる
  25. 25. リンクリソースへのパスが補完できる
  26. 26. zen-coding ul#nav.clearfix>li.item*3>a.big.red [TAB]
  27. 27. これだけでも十分使える zen-coding a [TAB] <a href=””><a>
  28. 28. PHPはWebのフロント用の言語だからブラウザ側の技術をおろそかにできない
  29. 29. php.net ここでF1キー
  30. 30. php.net さらにここをクリック
  31. 31. php.net は生きているドキュメント更新/コメントされ続けてるからPHPerには必須
  32. 32. Docコメントの補完 /**[ENTER]
  33. 33. Docコメントの警告 PHPDoc comment does not match function or method signature
  34. 34. Docコメントの更新
  35. 35. PHPDocは非常に重要=事実上の型宣言。Javaのように静的解析するにはPHPは柔軟すぎ。
  36. 36. 「Javaとは違うのだよ! Javaとは」
  37. 37. Gitのステータス
  38. 38. Gitのステータスからの⌘+D
  39. 39. コミットダイアログ Before Commit Reformat code Optimize imports Perform code analysis Check TODO After Commit Run tool Upload file to: (test server)
  40. 40. 変更したファイルのFTP/SFTPで済むのはある意味PHPのメリットとも言える。活かそう。
  41. 41. 問題レポート
  42. 42. 問題レポート(さらに分類)
  43. 43. PHPUnitのカバレッジ 77%...これを開く 通ったか通って ないかで色分け
  44. 44. プロファイラ
  45. 45. デバッガ/プロファイラのブックマークレット http://www.jetbrains.com/phpstorm/marklets/
  46. 46. クラス図
  47. 47. ER図 (厳密にはERじゃないけど)
  48. 48. たまにDBの外部キー制約しかあてにならない長大SQL文字列結合コードが発掘される。
  49. 49. ちょっと便利な ⌘+E 最近アクセスしたファイルとパネル
  50. 50. Pinocoでは実際にPhpStormをコードレビューに使っています
  51. 51. Doc comment reviewed (@2013-01-30)
  52. 52. ...でもせっかく (Eclipse|Vim|Emacs) を覚えたのに
  53. 53. 「プラグインを作ればできるよ」「Jenkinsのタスクを作ればできるよ」
  54. 54. 「だから慣れてるし、これでいいや」
  55. 55. もうやめにしようじゃないか
  56. 56. 「...でいいや」と言うために、あなたは時間をどれだけ(Eclipse|Vim|Emacs)に費やしましたか
  57. 57. 「...でいいや」と言い続けるために、あなたは今後どれほど(Eclipse|Vim|Emacs)に費やしますか
  58. 58. 面倒が多い方を選んでおいて「で、いいや」とはどういうことだろう?
  59. 59. アンチパターン:「で、いいや」逆転の法則
  60. 60. 時給換算でどっちが安い?
  61. 61. スキルがもったいないというのは幻想。僕も最初に早くコードを書くのは jEdit を使い、設定ファイルの編集には Vim を使います。
  62. 62. 自分に合うIDEを探すことそのものが、自分の技術分野のニーズを知ることでもある。
  63. 63. 乗り換えを駆使しよう「高槻からは快速急行が早くなります」

×