PHPをはじめよう
PHPの最小単位を扱う。`.php`ファイルを作って実行できるところまで
PHP の最小要素 (echo / 変数 / 数値 / 入力) を扱うトピック。
このトピックで身につくこと
.phpファイルを作ってphpコマンドで実行できるechoで文字を出せる- 変数に値を入れて取り出せる
- 簡単な計算ができる
- ターミナルから入力を受け取れる
前提知識の要点
このトピックは PHP 言語の知識ゼロ で始められる。必要なのは環境だけ。
# ターミナルで以下が動けば OK
$ php -v
PHP 8.x.x ...
もし php -v が動かなければ topic: first-step で環境構築する。それ以外の前提はない。
chapter 一覧
| # | chapter | 内容 |
|---|---|---|
| 1 | ch01-what-is-php/ |
PHP の実行モデル |
| 2 | ch02-write-program/ |
<?php ?> タグ / echo / セミコロン |
| 3 | ch03-comments/ |
// # /* */ |
| 4 | ch04-html-mix/ |
HTML と PHP の共存 |
| 5 | ch05-variables/ |
$変数 = 値; |
| 6 | ch06-strings/ |
. 連結と {$var} 展開 |
| 7 | ch07-numbers/ |
四則演算 |
| 8 | ch08-input/ |
fgets(STDIN) |
合計 8 chapter / 21 drill / 所要 2〜3 時間。
進め方
- 各 chapter の
slide.mdを読む (2〜4 分) drill/の問題を解く- 採点:
php scripts/grade.php topics/hello/<chapter>/drill/<drill>/
つまづきポイント
| 症状 | 多くの原因 |
|---|---|
Parse error |
セミコロン ; 忘れ・クォート抜け |
\n が改行されない |
シングルクォート ' を使っている → ダブルクォート " に変える |
Undefined variable $nameさん |
日本語が変数の直後にある → "{$name}さん" で囲む (ch06 で扱う) |
Could not open input file |
ファイルがある場所と違うディレクトリにいる |
関連トピック
| トピック | 関係 |
|---|---|
| first-step | 環境構築が未済ならまずこれ |
| conditional | echo + 変数を使って分岐を書く |
| function | 同じ処理を関数にまとめる |
| class | 変数+関数をクラスとしてまとめる |
トピックを並列で参照する全体地図は TOPICS_INDEX.md にある。
案件 (dojo_map.tsv) での参照
topic_slug chapter_dir
hello topics/hello/ch01-what-is-php
hello topics/hello/ch02-write-program
...
slug hello で参照可。01-hello / hello どちらの path でもアクセスできる (シンボリックリンク)。
このレッスンの章
スクール現場で詰まる「よくある落とし穴」
公式マニュアルには書かれていないけれど、講師として受講生がよくハマるポイントを並べました。
-
?> を書き忘れて空行が出力される
PHPファイルの末尾では `?>` を省略するのが安全。書くと末尾の改行が出力に混ざってヘッダー送信エラーになる
-
echo と print の混同
echo は戻り値なし・複数引数OK、print は戻り値1・引数1。Web表示なら echo を使えばよい
-
日本語が文字化けする
ファイルをUTF-8 BOMなしで保存する。`header("Content-Type: text/html; charset=UTF-8");` も忘れずに