PHPプログラミングの基礎【現役エンジニアがわかりやすく解説】
PHPプログラミングの基礎を知りたい方に。
この記事を読まれている方は、
- PHPのプログラミングがどんなものか知りたい
- PHP言語の簡単な書き方が知りたい
- PHPが使われる場面を知りたい
おそらくこのように考えている方が多いと思います。
この記事を書いている私は、
プログラミング未経験から転職を果たした現役のWeb系エンジニアです。
エンジニア歴は3年ですが、本業とは別にフリーランスの副業で月10万円ほど、多いときで20万円ほどの収入があります。
この記事では、現役のエンジニアが、PHPプログラミングの基礎を解説しています。
プログラミング言語のPHPの特徴
PHPはプログラミング言語のひとつで、動的型付けのスクリプト言語で、オブジェクト指向型の言語です。
動的型付けとは、簡単に言うと、データを文字列型や数値型、論理型などに分ける必要がないということです。
スクリプト言語とは、プログラム実行前にコンパイルという、書いたプログラム文を中間言語に変換する作業の必要がない言語のことで、書いた後はすぐにプログラムを実行することができる言語のことです。
一方、スクリプト言語と対をなすコンパイル言語とは、プログラムの実行前に、開発者の方でコンパイラーを使って構文チェックなどをしたうえで中間言語に変換しないと動作しない言語のことです。
一般に、スクリプト言語は、処理速度がコンパイル言語に比べて遅くなります。速度が求められる処理では、コンパイル言語が使用されることが多いです。
オブジェクト指向型言語とは、オブジェクトという概念を持つ言語のことで、簡単に言うと、データ構造として、配列や構造体に加えて、オブジェクト(クラス)があるということです。
オブジェクトのおかげで、ソースコードのメンテナンスがしやすかったり、機能の流用ができます。
PHPの最大の良さは、動的型付けで弱い型付けの言語のため、学習コストがとても低く、初心者に学びやすいという点です。
また、レンタルサーバーなどでも広く採用されており、環境を作るのが容易な言語のため、その点でも初心者に受け入れられやすい言語です。
PHPはエディタで書いている方が多いイメージですが、統合開発環境(IDE)もないわけではなく、Javaと同じようにEclipseを使ったり、PhpStormなどが使えます。IDEを使うことで、プロジェクトの管理やデバッグなどが行いやすくなります。
PHPの用途
PHPは動的型付けのスクリプト言語ということもあり、さほど速度が重視されない、Web系の開発で主に採用される言語です。
よくPHPはWebサーバーで動く言語と言われますが、Web系でしか使えないということではありません。実際に、Linuxのcronでバッチ処理として使うケースなども多いです。
規則が緩く、簡単に書ける言語のため、素人から玄人まで幅広く使われています。
環境・構成としては、LAMP(Linux,Apache,MySQL,PHP)環境で構築することが多いです。いずれも無料で使えるため、この組み合わせに人気があります。
また、CMSのWordPressやCRMのSugarCRMなどでも人気があり、一般の方が普段使われているものはPHPで作られているものが多いです。
PHPの書き方
ここでは簡単に書き方を少しだけ紹介します。実際に始める気になったら、ぜひ参考書などの教材を参考にして、試してみて下さい。
Hello World!を画面に出力する
まずはお決まりのHello World!という文字列を画面に出力する方法から。
<?php echo "Hello World!"; ?>
これで出力することができます。
C言語やJavaなどとは異なり、main関数を書かなければ動かないということはなく、いきなりそのまま命令文を書くことができます。クラスもなしで動くので、オブジェクト指向は強制されていません。
コンパイル言語とは異なり、スクリプト言語であるPHPはコードを書いて保存すれば、すぐにでもプログラムを実行することができます。
変数宣言と分岐処理
次は少し踏み込んで、変数宣言と分岐処理をしてみます。
<?php $age = 19; if ($age < 20) { echo "未成年"; } else { echo "成人"; } ?>
上記の例では、まず$ageという数値型の変数を作り、その中に19という数値を入れています。
次に$ageが20未満であれば”未成年”という文字列を、それ以外であれば”成人”という文字列を出力するような分岐処理をしています。
配列と繰返処理
続いて、配列の使い方と繰返処理について、解説します。
ここでは配列を作って、以下のようにデータを出力することにしましょう。
佐藤,田中,小林
これを出力するコードは以下です。
<?php $students = array("佐藤","田中","小林"); for ($i=0; $i<count($students); $i++ ) { echo $students[$i]; if ( $i < count($students)-1 ) { echo ","; } } ?>
上記の例では、まず配列$studentsに「佐藤」「田中」「小林」の3つの文字列を格納しています。
その後、カウンタ変数$iを0に初期セットし、配列$studentsの要素の数に到達するまでループで$iを1ずつ増やしてまわしていきます。その際に、echo関数を使い、配列$studentsの$i番目の要素の値を出力し、最後の要素以外、その後に「,(カンマ)」を出力しています。
構造体の取り扱い
最後に構造体の取り扱い方法について解説します。
ここではエクセルのようなデータを作って、以下のようにデータを出力することにしましょう。
名前:佐藤,性別:男性 名前:田中,性別:女性 名前:小林,性別:女性
これを出力するコードは以下です。
<?php $first_row = array("A"=>"佐藤","B"=>"男性"); $second_row = array("A"=>"田中","B"=>"女性"); $third_row = array("A"=>"小林","B"=>"女性"); $excel_data = array($first_row, $second_row, $third_row); for ($i=0; $i<count($excel_data); $i++ ) { echo "名前:".$excel_data['A']; echo ","; echo "性別:".$excel_data['B']; if ( $i < count($students)-1 ) { echo "<br>"; } } ?>
上記の例では、まず$first_row, $second_row, $third_rowという3つの連想配列を作り、それぞれのAというキー(列)に名前を、Bのキーに性別の値を入れていきます。
そして、それら全てを$excel_dataという配列に入れます。
その後、カウンタ変数$iを0に初期セットし、配列$excel_dataの要素の数に到達するまでループで$iを1ずつ増やしてまわしていきます。その際に、echo関数を使い、配列$excel_dataの$i番目の要素の中のA列とB列の値を出力し、最後の要素以外、その後に「
(HTMLの改行タグ)」を出力しています。
まとめ:PHPは学習コストが低く、初心者に使いやすい言語
PHPの良さを簡単にまとめると、以下のとおりです。
- 簡単に書ける ← 動的型付け
- すぐに実行できる ← スクリプト言語
- サンプルが多い ← 習得者が多い
つまり、簡単に動かせてサンプルも多いことから、初心者が学びやすい言語と言えます。
オープンソースの言語で、かつてはセキュリティの脆弱性があり、非推奨の声も上がっていましたが、現在は対策され、落ち着いています。フレームワークも充実してきているため、Web系エンジニアではほぼ誰でも使いこなすべき言語となっています。
一度広まってしまっているため、今後も急激に衰退するなどいったことはなく、比較的安定して長く使える言語なのではないかと思います。何より、初心者が学びやすいことから、エントリー向けの言語として今後もその地位を維持し続け、さらにそのことから、企業は開発要員を集めやすくなるため、実務でも廃れることはないと思われます。
PHPにも資格がありますので、学習してみたいなという方がいましたら、取得を目指してみるのもありです。
PHPは独学が可能な言語だとは思いますが、
独学でできなさそうな方は、プログラミングスクールも手段の一つに入れると良いと思います。
現役エンジニアがオススメするプログラミングスクール3選【無料体験あり】
「一からきちんと学べるオススメのプログラミングスクールを知りたい。プログラミングの効率的な学び方を知りたい」←こういった疑問に答えます。本記事内容:まずはどのプログラミング言語を選ぶべきか/現役エンジニアがオススメするプログラミングスクール3選/プログラミングスクールにプラスして行うべきこと