やったこと
- 独学エンジニア レッスン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; } }
備忘録
「'」と「"」の使い分けについて
- ただの文字を表現するときは「'」
- 変数やエスケープ文字を展開したいときは「"」
$name = 'シンヤ';
echo`{$name}、ありがとう!\n; // 「{$name}、ありがとう!\n」と表示される
echo"{$name}"、ありがとう!\n; // 「シンヤ、ありがとう!<改行>」と表示される
コードを書くときのコツ
条件分岐などの処理をコードにて記述する際は、初めにコメントを使用して、骨格を作るとよい。