PHPStanを使った型付けをWebブラウザ上で体験できるチュートリアルです。
コード編集中にリアルタイムでPHPStanのフィードバックを得て「PHPStanとペアプログラミングをする」感覚を獲得してください。
- 🌱 PHPStan型付けチュートリアル 入門編
- 🔰 PHPStan型付けチュートリアル 基礎編 (工事中)
チュートリアルには節見出しごとに、以下のようなブロックがあります。
Note
この節のコードは以下で確認できます
- PHPStan Playground:
https://phpstan.org/...
- File:
xxx.php
- CLI:
./vendor/bin/phpstan analyze beginner/xxx.php
チュートリアル本文にある PHPStan Playground: https://phpstan.org/...
のリンクからWeb上のPlaygroundにアクセスできます。
Webブラウザのウィンドウを分割し、記事本文とPHPStan Playgroundを並べて表示すると便利です。
このGitリポジトリをローカルに git clone
してください。
Tip
PHP 8.0以降とComposerがインストールされている必要があります。
git clone
後にディレクトリ内に移動し composer install
を実行してください。
チュートリアルを読み進めながら、同じディレクトリがあるファイルを編集してください。
Tip
エディタ画面で編集中にPHPStanの出力を表示できるようにすることを 強く推奨 します。
PhpStorm、VS Code、GNU Emacs、Vimなどでは拡張を有効化することで実現できます。
Warning
エディタ内からリアルタイムでPHPStanを実行する環境が用意できない場合はWebブラウザを使ってください。
このチュートリアルは、エディタ画面から透過的にPHPStanを実行することが理想です。
どうしても実行できない場合は端末からCLIで指定されている./vendor/bin/phpstan analyze beginner/xxx.php
のようなコマンドを実行してください。
この文書はGNU自由文書ライセンスにより自由に利用できます。
Copyright (c) 2025 USAMI Kenta
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU
Free Documentation License".
コード部分についてはBSD Zero Clause Licenseとします。
BSD Zero Clause License
Copyright (c) 2025 USAMI Kenta
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.