Skip to content

Real World Attributes

公開日:

オンラインZoom会議で開催された『PHPerのための「PHPerKaigi2023を振り返る」 PHP TechCafe』でライトニングトーク(5分)として発表しました。

Download PDF

スライドテキスト

Page 1

Real World Attributes

pixiv Inc.

USAMI Kenta

2023-03-28 PHPTechCafe

Page 2

お前誰よ

  • うさみけんた (@tadsan) / Zonu.EXE / にゃんだーすわん
  • ピクシブ株式会社 pixiv事業本部 エンジニア
  • 最近はピクシブ百科事典(dic.pixiv.net)を開発しています
  • Emacs Lisper, PHPer
  • Emacs PHP Modeを開発しています (2017年-)
  • プログラミング言語にちょっとこだわりのある素人

Page 3

PHPerKaigiで話した

Page 4

今北産業

Page 5

今北産業

  • いままで /** DocComment */ に書かれてたやつの代用として提案
  • なんか #[Attribute] みたいなへんてこ記法がPHP 8.0で追加された
  • クラスとかメソッドに書けるコメントみたいなもんだけどデータを取り出せる

Page 6

こんなの何に使うのって?

Page 7

キミだけの最強の活用法を見付けだせ!!!

Page 8

ご静聴ありがとうございました!

Page 9

…というひどい発表をしてきた

Page 10

#[Attr()]と書く

謎記法が出てきた

…ということだけ、お見知りおきください

Page 11

誰が使うんだ?という話

Page 12

PHPUnitの実行制御

/*** @dataProvider idsProvider*/

public function test($id, $expected):void {

Page 13

@dataProvider

/*** [$id, $expected]*/

public function idsProvider() {return [[1, 'value'],[2, 'value'],];

Page 14

PHPUnit 10 vs Attribute

  • PHPUnit 10でAttributeに移行、11で非推奨化、12で削除予定
  • 超大量の移行リスト… sebastianbergmann/phpunit#4502
  • その他の変更は02氏の発表を参照のこと

Page 15

テスト好きかい?

Page 16

「うん、大好きさ」

Page 17

むかし書いた

Page 18

実装の上にコメントでテストを書ける

Page 19

DataProviderを

Page 20

これはAttributeにできる

Page 21

ということでやったよ

Page 22

Attributeの定義はこれだけ

Page 23

実装の上にAttributeでテスト