プロジェクトの概要
CoddyのPHPジャーニー「オブジェクト指向プログラミング」セクションの一部 — レッスン 82/91。
チャレンジ
簡単図書館管理システムプロジェクトの基盤を構築することから始めましょう。この章を通じてコアとなるドメインオブジェクトとして機能する、シンプルな Book クラスを作成します。
コードを2つのファイルに整理します。
Book.php— 図書館の本を表すBookクラスを作成します。この本には、isbn(文字列)、title(文字列)、author(文字列)の3つのプロパティが必要です。コードを簡潔に保つために、コンストラクタのプロパティ昇格(constructor promotion)を使用してください。本の詳細を"[title] by [author] (ISBN: [isbn])"という形式のフォーマット済み文字列で返すgetInfo()というメソッドを追加してください。main.php— Book ファイルをインクルードして、クラスを実際に動かしてみましょう。本の ISBN、タイトル、著者の3つの入力を受け取ります。これらの値を使用してBookインスタンスを作成し、getInfo()を呼び出した結果を出力してください。
これは図書館システムの最初の構成要素です。今後のレッスンでは、ユーザーの追加、貸出機能、管理機能などを追加してこの基盤を拡張し、すべてが連携して1つのまとまったアプリケーションとして機能するようにしていきます。
自分で試してみよう
<?php
require_once 'Book.php';
// 入力を読み込む
$isbn = trim(fgets(STDIN));
$title = trim(fgets(STDIN));
$author = trim(fgets(STDIN));
// TODO: 入力値を使用してBookインスタンスを作成する
// TODO: getInfo()を呼び出した結果を出力する
?>