以前に作成した GreatNotepad クラスを修正します。

  • load メソッドを追加する

GreatNotepad クラスの仕様は以下のとおりです。

メソッド 処理内容
save $filename 引数で受け取ったファイル名に $input_string プロパティの内容を保存する
load $filename 引数で受け取ったファイル名を読み込んで、読み込んだファイルの内容を $input_string プロパティに代入する

問題 9

次のプログラム( notepad_runner9.php )があります。

notepad_runner9.php

<?php
require_once("GreatNotepad.php");

try {
    $notepad = new GreatNotepad();
    $notepad->load("my_file.txt");
    $notepad->show();
} catch (Exception $e) {
    echo $e->getMessage() . PHP_EOL;
}

次の実行結果のとおり動作するプログラム( GreatNotepad.php )を作成してください。

実行結果

$ php notepad_runner9.php
one two three

ここではカレントフォルダに以前に作成した my_file.txt が存在するものとします。

GreatNotepad.php

<?php
require_once("SimpleNotepad.php");

class GreatNotepad extends SimpleNotepad
{
    public function save($filename)
    {
        file_put_contents($filename, $this->input_string);
    }

    # TODO define load method.
}

load メソッドを定義します。