最近はProgateとかドットインストールを使って、
簡単にPHPの基礎を学ぶ事が出来ます。
PHPを使って Database システムを構築するのは簡単ですが、
PHPを初めて間もないうちはついつい可読性の低いコードを量産してしまいがちです。
コードに書き慣れてきたタイミングでおそらく読めないコードを量産するようになってくるので、
PHP初学者向けのスキルアップポイントを幾つかまとめてみました。
テンプレートエンジン使いましょうは言わないお約束。
テンプレートを綺麗に書くためのコツ
まずはPHPタグの開閉を
なんでもechoで書くと辛いだけです。とりあえずHTMLを書くときはコードを閉じてみましょう。
変数使う時だけまたPHP始めればいいです。.
を使った文字列の連結とかでHTML組み立てたりするのは凄く読みづらいので極力避けましょう
読みにくい
<?php
//なんかのややこしい処理
echo "<input type='text' name='name' value='".$_POST['name']."'>";
//なんかのややこしい処理
?>
まだまし
<?php
//なんかのややこしい処理
?>
<input type='text' name='name' value='<?php echo $_POST["name"] ?>'>
<?php
//なんかのややこしい処理
?>
ショートタグを覚えよう
画面に文字を表示するのはecho
だけではないです。
<?=$hoge?>
という記法が使えます。 <?php echo $hoge ?>
よりすっきりしていますね。
考古学系のシステムを専門で扱う現場などでは、<?=$hoge?>
の記法を禁止している場合があったりします。
イマドキのシステムを扱う会社に就職しましょう。
読みにくい
<input type='text' name='name' value='<?php echo $_POST["name"] ?>'>
まだまし
<input type='text' name='name' value='<?= $_POST["name"] ?>'>
制御構造を見やすく
PHPにはテンプレート記述用のif文やwhile文の構造が幾つか用意されています。
<?php if ($name): ?>
<p> <?=$name?> </p>
<?php else: ?>
<p> 名前がセットされていません! </p>
<?php endif;?>
通常の{}
を用いた記述を使うと,以下のようなコード内の謎の<?php } ?>
が散らばりがちで可読性が悪いです。
<?php
}
?>
HTML書く部分と、そうじゃない部分をしっかり分けましょう
HTMLの中でPHPの処理を書くととても読みづらくなります。
HTMLを書く始める前に画面の中で必要な変数をしっかり用意してあげましょう。
読みにくい
<html>
<head>....</head>
<body>
<?php
//データベースからデータ取ってきて…とか
$pdo = new PDO.....
while($stmt->fetch()){
?>
<?php
}
?>
</html>
まだまし
<?php
//データベースからデータ取ってきて…とか
$pdo = new PDO.....
$result = []; //表示用の配列を先に用意
while($stmt->fetch()){
$result[] = [
...
]
}
?>
<html>
<head>....</head>
<body>
<?php foreach($row as $result):?>
<!-- データを表示... -->
<?php endforeach; ?>
</html>