はじめてのPHPと実行のしくみ
港の灯台の点灯案内を題材に、echo、改行、PHPタグ、コメント、実行と構文エラー、行番号を学びます。
- echo
- 改行
- PHPタグ
- コメント
- 実行と構文エラー
- 行番号
変数・型・計算 プラス
共同工房の材料見積もりを題材に、代入と更新、int/float、var_dump、四則演算と余り、整数単位の見積もりを学びます。
- 代入と更新
- int/float
- var_dump
- 四則演算と余り
- 整数単位の見積もり
文字列と日本語 プラス
音声ガイドの原稿整形を題材に、引用符、展開、連結、trim、strreplace、strlen/mbstrlen、heredocを学びます。
- 引用符
- 展開
- 連結
- trim
- str_replace
- strlen/mb_strlen
- heredoc
条件と入力の境界 プラス
観測デッキの入場案内を題材に、if/elseif、厳密比較、論理演算、falsy、0とfalse、三項演算、キャストと検証の違いを学びます。
- if/elseif
- 厳密比較
- 論理演算
- falsy
- 0とfalse
- 三項演算
- キャストと検証の違い
配列とデータの形 プラス
種の交換会の品種台帳を題材に、リストと連想配列、キー、追加更新削除、ネスト、isset/arraykeyexists、null合体、分解を学びます。
- リストと連想配列
- キー
- 追加更新削除
- ネスト
- isset/array_key_exists
- null合体
- 分解
繰り返しと集計 プラス
渡り鳥の観測記録を題材に、foreach、for、while、break/continue、件数合計最大値、空集合、参照ループの注意を学びます。
- foreach
- for
- while
- break/continue
- 件数合計最大値
- 空集合
- 参照ループの注意
関数で処理を分ける プラス
染め物工房の配合計算を題材に、定義、引数、return、スコープ、早期return、既定値、名前付き/可変長引数、値渡し、計算と出力の分離を学びます。
- 定義
- 引数
- return
- スコープ
- 早期return
- 既定値
- 名前付き/可変長引数
- 値渡し
- 計算と出力の分離
型宣言と関数の契約 プラス
字幕制作の時間割り当てを題材に、引数/戻り値型、strict_types、呼出側の型変換、nullable/union、型と値域の検証、整数上限を学びます。
- 引数/戻り値型
- strict_types
- 呼出側の型変換
- nullable/union
- 型と値域の検証
- 整数上限
道場1 漂着物の調査報告を作ろう 道場 プラス
海岸調査の回収・分類レポートを題材に、不揃いな観測データを検証・分類・集計。空入力、境界、未知分類に対応する関数群を自力で実装を学びます。
- 不揃いな観測データを検証・分類・集計。空入力
- 境界
- 未知分類に対応する関数群を自力で実装
コールバックと配列操作 プラス
ラジオ番組の選曲キューを題材に、無名関数、use、fn、第一級callable、map/filter、values、usort、キー保持、8.5 pipeを学びます。
- 無名関数
- use
- fn
- 第一級callable
- map/filter
- values
- usort
- キー保持
- 8.5 pipe
小さなCLIツールを作る プラス
上映会の座席割り当てを題材に、argv、constと定義済み定数、標準入力、EOF、標準出力/標準エラー、終了コード、ヘルプを学びます。
- argv
- constと定義済み定数
- 標準入力
- EOF
- 標準出力/標準エラー
- 終了コード
- ヘルプ
エラーを読み、例外を扱う プラス
観測機器の測定値取り込みを題材に、Throwable/Exception/Error、throw、try/catch/finally、警告とfalse、失敗の握りつぶしを避けるを学びます。
- Throwable/Exception/Error
- throw
- try/catch/finally
- 警告とfalse
- 失敗の握りつぶしを避ける
ファイル・CSV・JSON プラス
地域資料館の目録変換を題材に、DIR、入出力、失敗検査、CSVの引用符、JSONTHROWON_ERROR、ファイルパス境界を学びます。
- __DIR__
- 入出力
- 失敗検査
- CSVの引用符
- JSON_THROW_ON_ERROR
- ファイルパス境界
日時と再現できる処理 プラス
夜間観察会の予約期限を題材に、DateTimeImmutable、Timezone、format、modify、日付検証、時計を引数にする、月末と閏日を学びます。
- DateTimeImmutable
- Timezone
- format
- modify
- 日付検証
- 時計を引数にする
- 月末と閏日
道場2 字幕データの修復ツール 道場 プラス
上映作品の字幕タイムライン検査を題材に、CSV入力→不正行報告→時間順の整列→JSON保存。元データを壊さず再実行できるCLIの自作を学びます。
- CSV入力→不正行報告→時間順の整列→JSON保存。元データを壊さず再実行できるCLIを自作
クラスと状態の管理 プラス
修理工房の作業票を題材に、クラス、インスタンス、型付きプロパティ、this、コンストラクタ、private、不変条件を学びます。
- クラス
- インスタンス
- 型付きプロパティ
- this
- コンストラクタ
- private
- 不変条件
値とオブジェクトの違い プラス
陶芸窯の焼成条件を題材に、オブジェクト識別子、===と==、clone、readonly、プロモーション、値オブジェクトを学びます。
- オブジェクト識別子
- ===と==
- clone
- readonly
- プロモーション
- 値オブジェクト
実務レベルまで プロ
インターフェースと依存の分離 プロ
修理工房の通知先切り替えを題材に、interface、implements、DI、コンポジション、テストダブル、変更理由による責務分離を学びます。
- interface
- implements
- DI
- コンポジション
- テストダブル
- 変更理由による責務分離
継承・抽象クラス・トレイト プロ
街歩きツアーのガイド形式を題材に、extends、parent、protected、abstract、final、trait、継承と委譲の判断を学びます。
- extends
- parent
- protected
- abstract
- final
- trait
- 継承と委譲の判断
列挙型とモダンなPHP プロ
展示作品の公開審査を題材に、enum/from/tryFrom、matchの網羅、nullsafe、static、属性、property hooks、非対称可視性、NoDiscard、array_first/last、Uriを学びます。
- enum/from/tryFrom
- matchの網羅
- nullsafe
- static
- 属性
- property hooks
- 非対称可視性
- NoDiscard
- array_first/last
- Uri
名前空間とComposer プロ
朗読音源の配信パッケージを題材に、namespace/use、PSR-4、autoload、composer.json/lock、install/update、require-dev、scripts、監査を学びます。
- namespace/use
- PSR-4
- autoload
- composer.json/lock
- install/update
- require-dev
- scripts
- 監査
PHPUnitで自分のコードを守る プロ
配送用緩衝材のサイズ判定を題材に、TestCase、assertSame、例外検証、境界値、データプロバイダ、setUpとフェイク、リファクタリングを学びます。
- TestCase
- assertSame
- 例外検証
- 境界値
- データプロバイダ
- setUpとフェイク
- リファクタリング
道場3 展示会の搬入受付を設計する 道場 プロ
展示物の搬入と保管場所の割り当てを題材に、容量・壊れ物・受付状態の制約。責務分割、依存注入、仕様変更と回帰テストを実践を学びます。
- 容量・壊れ物・受付状態の制約。責務分割
- 依存注入
- 仕様変更と回帰テストを実践
反復可能なデータと標準API プロ
録音アーカイブの長い索引を題材に、iterable、Generator/yield、遅延処理、SPL、正規表現、ストリーム解放を学びます。
- iterable
- Generator/yield
- 遅延処理
- SPL
- 正規表現
- ストリーム解放
PDOとデータベース プロ
共同菜園の区画台帳を題材に、SQL基礎、SQLite/PDO、CRUD、プレースホルダ、fetch、制約、トランザクション、SQL方言差を学びます。
- SQL基礎
- SQLite/PDO
- CRUD
- プレースホルダ
- fetch
- 制約
- トランザクション
- SQL方言差
永続化とテストの設計 プロ
地域発電所の検針データを題材に、Repository境界、単体/統合テスト、fixture、二重登録防止、ロールバック、実DBとfakeの役割を学びます。
- Repository境界
- 単体/統合テスト
- fixture
- 二重登録防止
- ロールバック
- 実DBとfakeの役割
HTTPとPHPの接点 プロ
星空観察会の空き枠照会を題材に、HTTP要求/応答、リクエスト単位の実行、HTML最小限、GET、出力エスケープ、ステータス、ロジックと表示の分離を学びます。
- HTTP要求/応答
- リクエスト単位の実行
- HTML最小限
- GET
- 出力エスケープ
- ステータス
- ロジックと表示の分離
フォームと状態変更 プロ
公開録音への参加申込を題材に、POST、入力の形と値の検証、PRG、headerと出力順、セッション/クッキー、CSRFの最小例を学びます。
- POST
- 入力の形と値の検証
- PRG
- headerと出力順
- セッション/クッキー
- CSRFの最小例
実務コードの読み方と境界 プロ
音声資料室の利用者情報を題材に、password_hash/verify、認証と認可、秘密情報とログ、API失敗/タイムアウトの分類を学びます。
- password_hash/verify
- 認証と認可
- 秘密情報とログ
- API失敗/タイムアウト
静的解析と保守 プロ
古い寄贈品管理ツールの改善を題材に、PHPDoc/array shape、PHPStan、型エラー修正、コーディング規約、依存の更新、deprecated、テストを保ったリファクタを学びます。
- PHPDoc/array shape
- PHPStan
- 型エラー修正
- コーディング規約
- 依存の更新
- deprecated
- テストを保ったリファクタ
総合制作の準備と設計レビュー プロ
まちの道具図書館の要件整理を題材に、状態遷移、不変条件、責務の境界、受入例とテスト計画、開発ツールの設定、READMEを学びます。
- 状態遷移
- 不変条件
- 責務の境界
- 受入例
- テスト計画
- 開発ツールの設定
- README
道場4 まちの道具図書館を完成させよう 道場 プロ
まちの道具図書館の貸出・返却・整備を題材に、CLI、期限と整備状態、予約待ち、SQLite永続化、トランザクション、PHPUnit、障害回復、変更要求、引き継ぎを学びます。
- CLI
- 期限と整備状態
- 予約待ち
- SQLite永続化
- トランザクション
- PHPUnit
- 障害回復
- 変更要求
- 引き継ぎ
よくある質問
- プログラミング未経験でも受講できますか?
- はい。出力や変数から順に学びます。HTML・SQL・他言語の経験は前提にしません。後半は複数ファイルを扱う道場に取り組みます。
- どこまでできるようになりますか?
- 仕様を読み、入力を検証し、責務を分けて実装し、データを保存してテストで変更を確かめる土台を作ります。修了だけで実務経験を代替するものではありません。
- LaravelやWordPressも扱いますか?
- このコースではPHP自体と開発の基礎を扱います。LaravelやWordPressの具体的な開発は別コースで学ぶ想定です。
- 環境構築は必要ですか?
- 演習はブラウザ内で動きます。主にターミナルで実行結果を確認し、HTTPやフォームを扱う場面ではブラウザのプレビューを使います。通常の開発環境での準備や実行手順も学びます。