PHPを学び始めた素人目線での、大事だったり大事じゃなかったりする雑知識メモ、その⑨です。
($変数名 !== false)を明示するかどうか
『値がfalse
でなければ上の文が実行されるif文』は2通りの記述方法があります。
if($loginSuccess) { echo 'ログイン成功'; } else { echo 'ログイン失敗'; }
このコードの書き方は、$loginSuccess
がブール値を保持することが明確である場合に適しています。
変数がtrueかfalseのみを保持するなら、こちらの簡潔な形式が好ましいです。
if($loginSuccess !== false) { echo 'ログイン成功'; } else { echo 'ログイン失敗'; }
一方、こちらの書き方は、$loginSuccess
がブール値以外の値を取り得る場合や、falseとの厳密な比較が重要である場合に適しています。
例えば、$loginSuccessがnull
や0
や''
などのfalsyな値*1を取り得る場合、これらをfalseと区別したいときには、明示的な表記をするのが好ましいです。
『header()』のあとには『exit()』を
header('Location: ' . Bootstrap::ENTRY_URL . 'complete.php'); exit();
exit()
は、スクリプトの実行をその時点で終了させるコマンドです。
リダイレクトを行う際は、その後ろにあるコードが不用意に実行されることを防ぐために、記述しておくのが好ましいです。
twigを使うときのパス指定はphpファイル側が基準になる
CSSファイルをtwigにリンクするとき、パス指定はTwigテンプレートの位置ではなく、サーバー上で動作しているPHPファイルの位置(最終的にブラウザに送信されるHTML)が基準になります。
たとえば、次のようなディレクトリ構造があったとします。
- public_html/ - index.php - css/ - style.css - templates/ - page.twig
「index.php」から「page.twig」を読み込み、page.twig内で「style.css」をリンクする場合、CSSへのパス指定はこうなります。
<link rel="stylesheet" href="css/style.css">
このとき「page.twig」がどのフォルダにあるかは関係ありません。
以上です。
*1:真偽値において"偽"とみなされる値のこと。