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

今北産業
•••
な んか #[Attribute] みたいなへんてこ記法がPHP 8.0で追加された

  • いままで /** DocComment */ に書かれてたやつの代用として提案
  • クラスとかメソッドに書けるコメントみたいなもんだけどデータを取り出せる

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でテスト