PHPerのための「PhpStormを語る」 PHP TechCafe

Connpass: https://rakus.connpass.com/event/279368/

PHPer's NEWS

ChatGPTに関する調査を実施
案外まだ使ったことない人が多かった

PHPStan作者がPHPStan開発で得る月収が5365ユーロ=約77万円
世界中の人々に使われているPHPStanの作者の報酬として、高いと見るか安いと見るか……
アンケートの結果としては低いと感じている人のほうが多い模様。

FastAPIのフォルダ構成をChatGPTに教えてもらった
こういうベストプラクティス的なのをChatGPTに聞くのは面白いと思いました
Laravelのフォルダ構成のベストプラクティス教えて!(宗教戦争)

【PHP8.3】static変数に動的値を突っ込めるようになる
満場一致で受理されたものの、この新機能の恩恵は私にはわからなかったです。

PHP Foundation Update, March 2023
PHP Foundation の初期段階で 10,000 ドルを寄付した企業には、2023 年 10 月まで主要スポンサーのステータスと諮問委員会の席が提供されます。
(ラクスは主要スポンサーです)

Avoiding one-liners in PHP
コードを短くするモチベーションがどこからきているのかということを把握して利用していかなければならない

Twitter上の反応

PHPカンファレンス福岡開催!
採択発表は完了している模様!!

担当

PhpStomとは

概要

PhpStorm 超高速でスマートなPHP IDE

PHP 開発者向けに設計された高速でスマートな IDE

JetBrains社製の、PHP開発者に向けて設計された開発に便利な様々なツールが統合された環境:IDE。

  • 強力なコード補完/静的解析つきのエディタ
  • 様々なリファクタリング機能
  • DBクライアント
  • Gitクライアント
  • デバッガとの連携機能

JetBrains社とは

JetBrains会社概要
プラハに本社を置くソフトウェア開発企業。
PhpStorm や IntelliJ IDEA をはじめとする IDE の開発、販売を行っている。

IDEの開発だけでなく、PHP自体にも貢献しており、Nikita Popov 氏を数年雇用し仕事としてPHPの開発を許可していた。

PhpStormチーム

静的解析ツールとして

PhpStormは強力な静的解析を持っている。

  • エディターで開かれたファイル内のコードを分析し、入力時に問題のあるコードをハイライト
  • PHPDocを解析し引数や戻り値の型をチェック
  • Gitコミット実行後にチェック(以前はコミット前)
  • どの規約をチェックするのかなどは細かく設定可能

PhpStorm最新機能(2022.3)

気になった機能をピックアップしました。

2022.3

https://www.jetbrains.com/ja-jp/phpstorm/whatsnew/2022-3/

2023.1

https://www.jetbrains.com/ja-jp/phpstorm/whatsnew/

ショートカット

ショートカットコマンド一覧

Windows/Linux: https://pleiades.io/sites/willbrains.jp/keymap/pdf/shortcut_phpstorm_windows.pdf

Mac: https://pleiades.io/sites/willbrains.jp/keymap/pdf/shortcut_phpstorm_mac.pdf

主なコマンド

編集系

説明 ショートカット
コードの生成(Getter, Setter,コンストラクターなど) Alt + Insert
コメント化/コメント解除 Ctrl + /
自動インデント Ctrl + Alt + L
選択範囲のコードをフォーマット Ctrl + Alt + L
ファイル全体をフォーマット Ctrl + Alt + Shift + L

検索系

説明 ショートカット
どこでも検索 Shift2回
ファイル名で検索 Ctrl + Shift + N
クラス名で検索 Ctrl + N
ファイル内検索・置換 Ctrl + F / Ctrl + R
プロジェクト内検索・置換 Ctrl + Shift + F / Ctrl + Shift + R
使用箇所を検索 Alt + F7 / Ctrl + F7

ナビゲーション

説明 ショートカット
クラス、変数、メソッドの定義元にジャンプ Ctrl + B / Ctrl + Click
前のカーソル位置に移動 Ctrl + Alt + ⇐
次のカーソル位置に移動 Ctrl + Alt + ⇒
行番号を指定して移動 Ctrl + G
コードブロックの最初・最後に移動 Ctrl + ] / Ctrl + [
最近使用したファイルに切替 Ctrl + Tab
最近使用したファイルを表示 Ctrl + E

参考資料

プラグイン

Marketplace

PhpSrotmプラグインを検索できます。
JetBrainsスタッフのオススメPhpSrotmプラグインやダウンロード数ランキングが表示されているので、人気のプラグインが分かります。
https://plugins.jetbrains.com/phpstorm

Pickup

静的解析として

  • コードインスペクション

    • コードの作成中に解析を行い、危険な箇所に対して下線で示すか、ハイライトしてくれます。解析方法はPHPファイルをPhpStormで開くだけです。
    • 文法の誤りをハイライトし、重要度によってハイライト部分の色が変更されるため見やすい。
    • 他の解析ツールをインストールし使用すことも可能。
  • コールバックの参照

  • 名前空間

    • Auto-Import(自動インポート)
    • Optimize Imports(import文の最適化)
    • folding for imports(import文の折りたたみ) など
  • 静的解析ツールの導入が簡単

他のエディタと比べて ←マサカリコワイ

参考資料

【PhpStorm入門】基本的な使い方

静的解析ではじめる負債コード解消

PhpStormで始めるGit生活

おすすめポイント

  • PHP の開発体験を高めるための機能が最初から備わっている
    • PHP の開発を行う上で欲しい機能
      • コード補完
      • コード整形
      • コードインスペクション
      • コードジャンプ
      • 強力な検索機能
      • デバック
      • Git操作
      • 静的解析
      • テスト実行
      • DB操作
  • その他のエディタやIDEでも同等のことは可能
    • PHP 専用のものではないためプラグインを追加する必要がある
    • 「このプラグインおすすめだよ」であったり「これ入れるべきだよ」という意見を聞かないと勝手に気づくことができない
  • PhpStorm は PHP の開発初心者でも開発体験を高めるための機能があらかじめ利用可能な状態になっている
    • 開発しているうちに自然と便利な機能に触れることができる
  • 初心者ほど PhpStorm を使うことで開発スキルを高めることができる(と思います)
    • 「有料ツールを使うのはまだ早いかな?」と思っている方は是非ともトライアルから始めてみてください!
  • 設定の共有ができる
Select a repo