プログラミング学習ログ

WEBアプリケーション個人開発を目指す32歳公務員

#1 読書ログサービス作成(テキスト版)

f:id:kshinya-tech:20220207024527p:plain

やったこと

  • 独学エンジニア レッスン4.1-4.18

学んだこと

PHPの特徴・歴史

  • PHPはWEBサイトの作成を目的としたオープンソースのプログラミング言語。
  • WEBサイトの解析用ツールからスタートし、「手学にWebサイトを構築したい」というユーザーの要望に合わせてスクリプト言語へと進化した。
  • 簡単に・素早くWebサイトが作れることが特徴。
  • デメリットとして、付け焼き刃的に誕生した言語であるため、ライブラリ関数に統一性がなかったりもする。

Docker-compose execコマンドの実行方法

# example.php ファイルを実行する
$ docker-compose exec app example.php

文字の出力方法

文字の出力はechoを使う

echo '表示したい文字列' . PHP_EOL;  
// PHP.EOLは改行を表す
// ピリオドで複数の文字列を連結する

ユーザが入力した値をプログラムで受け取る方法

ユーザがキーボードから入力した値は標準入力(*)に割り当てられるので、標準入力の値を読み取ればOK。

  • 標準入力とは、プログラムが、特に何も指定されていない場合に利用するデータの標準的な(デフォルトの)入力元のこと。
  • 例えば、キーボード。

標準入力の値の取得方法

fgets(STDIN)
// STDIN : 標準入力(standard input)を意味する定数
// fgets : ()で指定したものから1行データを取得する

入力された余計な空白の削除方法

trimを使う。文字列の先頭及び末尾にあるホワイトスペースを取り除くことができる。

echo trim(' シンヤ ')    // 「シンヤ」と表示される

条件分岐の方法

if文を使う。条件が複数存在するときはif-elseif-elseを使う。

if (条件1) {
    文1
} elseif (条件2) {
    文2
} ⋯(elseif いくつでも) {
} else {
    文n
}

繰り返し処理の方法

while文を使う。繰り返し処理から抜け出したいときはbreak を使う。

while (条件式) {
    文
}

今日書いたコード

<?php

$title = '';
$author = '';
$status = '';
$evaluation = '';
$thoughts = '';

while (true) {
    echo '1. 読書ログを登録' . PHP_EOL;
    echo '2. 読書ログを表示' . PHP_EOL;
    echo '9. アプリケーションを終了' . PHP_EOL;
    echo '実行したい番号(1,2,9)を入力してください:';
    $i = trim(fgets(STDIN));

    if ($i === '1') {
        // 読書ログを登録する
        echo '読書ログを登録してください' . PHP_EOL;
        echo '書籍名:';
        $title = trim(fgets(STDIN));

        echo '著者名:';
        $author = trim(fgets(STDIN));

        echo '読書状況(未読、読んでいる、読了):';
        $status = trim(fgets(STDIN));

        echo '評価(5点満点の整数):';
        $evaluation = trim(fgets(STDIN));

        echo '感想:';
        $thoughts = trim(fgets(STDIN));

        echo '登録が完了しました' . PHP_EOL . PHP_EOL;
    } elseif ($i === '2') {
        // 読書ログを表示する
        echo '読書ログを表示します' . PHP_EOL;
        echo '書籍名:' . $title . PHP_EOL;
        echo '著者名:' . $author . PHP_EOL;
        echo '読書状況:' . $status . PHP_EOL;
        echo '評価:' . $evaluation . PHP_EOL;
        echo '感想:' . $thoughts . PHP_EOL . PHP_EOL;
    } elseif ($i === '9') {
        break;
    }
}

Image from Gyazo

備忘録

「'」と「"」の使い分けについて

  • ただの文字を表現するときは「'」
  • 変数やエスケープ文字を展開したいときは「"」
$name = 'シンヤ';
echo`{$name}、ありがとう!\n;      // 「{$name}、ありがとう!\n」と表示される
echo"{$name}"、ありがとう!\n;    // 「シンヤ、ありがとう!<改行>」と表示される

コードを書くときのコツ

条件分岐などの処理をコードにて記述する際は、初めにコメントを使用して、骨格を作るとよい。