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

PSRで世界が変わる

tsyama
September 28, 2019

 PSRで世界が変わる

2019/9/28に行った社内勉強会で発表したスライドです。

tsyama

September 28, 2019
Tweet

Other Decks in Programming

Transcript

  1. - インデントには、Tabではなく4 Spaceを使用する - 関数やクラス定義の `{` や `}` を独立した行にする -

    コンマの前にSpaceを入れず、後に1 Spaceを入れる … PSR-2 コーディングスタイルガイド
  2. public function hoge () { $hoge = “hoge”; echo $hoge;

    return $hoge; } PSR-2 コーディングスタイルガイド
  3. public function hoge () { $hoge = “hoge”; echo $hoge;

    return $hoge; } PSR-2 コーディングスタイルガイド
  4. 2. オートローディング規約 - doctrine/inflector - dragonmantank/cron-expression - egulias/email-validator - erusev/parsedown

    - league/flysystem - monolog/monolog - nesbot/carbon - opis/closure - psr/container - psr/simple-cache - ramsey/uuid - swiftmailer/swiftmailer - symfony/console - symfony/debug - symfony/finder - symfony/http-foundation - symfony/http-kernel - symfony/process - symfony/routing - symfony/var-dumper - tijsverkoyen/css-to-inline-styles - vlucas/phpdotenv
  5. - PSR-3 - PSR-6 - PSR-7 - PSR-11 - PSR-14

    - PSR-15 - PSR-16 - PSR-17 - PSR-18 3. インターフェース
  6. - PSR-3 - PSR-6 - PSR-7 - PSR-11 - PSR-14

    - PSR-15 - PSR-16 - PSR-17 - PSR-18 3. インターフェース
  7. PSR-7 HTTP message interfaces interface MessageInterface { public function getProtocolVersion();

    public function getHeaders(); public function getBody(); ... }
  8. PSR-7 HTTP message interfaces interface MessageInterface  →HTTPメッセージを下記のように定義する { public function

    getProtocolVersion();  →プロトコルバージョンを取れる(HTTP/1.1とかHTTP/2とか) public function getHeaders();  →ヘッダーを取れる public function getBody();  →本文を取れる ... }
  9. - PSR-3 ログ出力 - PSR-6 キャッシュ - PSR-7 HTTPメッセージ -

    PSR-11 コンテナ - PSR-14 イベントディスパッチャ - PSR-15 HTTPハンドラ - PSR-16 キャッシュ - PSR-17 HTTPファクトリ - PSR-18 HTTPクライアント 3. インターフェース