Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpCode目線で眺める
PHPコードのカバレッジ

 OpCode目線で眺める
PHPコードのカバレッジ

PHPerKaigi 2024のセッション「phpunit/php-code-coverageって何をしてるんだ」の補足資料です

セッションはコチラ:
https://fortee.jp/phperkaigi-2024/proposal/8543c51c-7e06-45d5-a216-cba29cb29789

hideki kinjyo

March 02, 2024
Tweet

More Decks by hideki kinjyo

Other Decks in Programming

Transcript

  1.  このコードで言えば・・ 1. 引数$xに値をセットする 2. 引数$yに値をセットする 3. $xをチェックして、もし falseyでなければJUMP 4.

    $yをチェックする ① 引数$xに値をセットする ② 引数$yに値をセットする ③ $xをチェックして、 真ならJUMP→⑤へ ④ $yをチェックする ⑤ おしまい! ブランチその1
  2.  このコードで言えば・・ 1. 引数$xに値をセットする 2. 引数$yに値をセットする 3. $xをチェックして、もし falseyでなければJUMP 4.

    $yをチェックする ① 引数$xに値をセットする ② 引数$yに値をセットする ③ $xをチェックして、 真ならJUMP→⑤へ ④ $yをチェックする ⑤ おしまい! ブランチその2
  3.  このコードで言えば・・ 1. 引数$xに値をセットする 2. 引数$yに値をセットする 3. $xをチェックして、もし falseyでなければJUMP 4.

    $yをチェックする ① 引数$xに値をセットする ② 引数$yに値をセットする ③ $xをチェックして、 真ならJUMP→⑤へ ④ $yをチェックする ⑤ おしまい! ブランチその3
  4. 参考資料 個人的にもとってもお世話に資料たち! • Xdebug: Documentation » Code Coverage Analysis https://xdebug.org/docs/code_coverage

    • PHPerのための「Xdebugの活用方法」を語るTechCafe https://hackmd.io/X0Qv5k5oSYm-tMU9Vw6r3A?view • xdebug-new-phpsouthcoast17 https://derickrethans.nl/talks/xdebug-new-phpsouthcoast17.pdf
  5. 参考資料 個人的にもとってもお世話に資料たち! • プログラムを実行するとはどういうことか https://speakerdeck.com/tomzoh/what-does-it-mean-to-execute-a-program • PHPのOpcodeを 読んでみよう https://speakerdeck.com/yasuaki640/phpnoopcodewo-du-ndemiyou •

    opcodeダンプするのにvldもphpdbgも要らなくなってた #PHP https://qiita.com/hnw/items/352c5030d6729343a49e • How to dump and inspect PHP OPCodes • PHP.Watch https://php.watch/articles/php-dump-opcodes