PHPとは?仕組みや基本的な書き方、学習方法について解説!
公開日:2019.08.15 最終更新日:2020.12.18
スキルアップ主にWebサーバ開発に広く利用されているPHPは、手軽さや構文のシンプルさからプログラミングの初級者にも人気が高まっています。元々の文法の分かりやすさに加えて、人気の高まりに伴い学習環境も非常に充実しているため、学習をはじめやすいのがPHPです。今回は、PHPの仕組みや基本的な書き方、学習方法について、実際のソースコードなども用いて解説します。
PHPの基本
PHPは近年急速に普及しているプログラミング言語です。文法が非常にシンプルで、初心者でも学習しやすいプログラミング言語として知られています。
PHPとは
PHPはスクリプト言語
PHPは、コンピューターに対して「何をしてほしいか」を、HTMLの中にシンプルに記述するだけで簡単にプログラムを書き込めます。こうしたシンプルさに重きを置いたプログラミング言語のことをスクリプト言語と言います。
PHPとJavaScriptとの違い
PHPは同じスクリプト言語のJavaScriptによく似ています。PHPとJavaScriptの大きな違いは、JavaScriptがブラウザの中で動く(=クライアントサイド)のに対して、PHPはサーバプログラムの中(=サーバーサイド)で動くことです。
JavaScriptの場合は、どのようなプログラムで動いているか誰でも見ることができますが、PHPの場合にはどのようなコードが書かれているのかが、外部からは見ることはできません。また、PHPの場合はWebサーバがPHPに対応している必要があります。近年は、レンタルサーバなどでもほとんどがPHPに対応したWebサーバのため、それほど大きなネックにはなりません。
PHPでできること
PHPを使ってできることは次の3つです。
HTMLソースコードの生成
PHPの最大の特徴はHTMLの中にPHP専用のタグを埋め込めば、そのままプログラムを記述できることです。すべてをPHPで記述する必要はなく、HTMLの一部分だけPHPで記述できます。
データベースとの連携
PHPの大きな特徴として、データベースとの相性の良さも挙げられます。データベース管理システムのMySQL(マイエスキューエル)やPostgreSQL(ポストグレスキューエル)を利用するための関数がひと通り標準で搭載されているため、すぐにデータベースと連携させることができます。
クライアントからの情報をPHPで受け取れる
クライアントからHTMLフォームに入力をした情報を受け取ることで、HTMLソースへの表示や、データベースへの保存ができます。
PHPで開発されたサービス
PHPで開発されたサービスには次のものがあります。
WordPress(ワードプレス)
CMSの中でもシェア率トップのWordPressはPHPで開発されています。WordPressで作ったWebサイトやブログをPHPでカスタマイズすることが可能です。
ぐるなび
ぐるなびの検索機能はPHPによって開発されました。また、飲食店へ予約情報を伝えるためのFAXシステムもPHPが使われていました(FAXシステムは2018年4月公開のぐるなび公式エンジニアブログによるとJavaへ「リプレイスした」との発表あり)。
SNSのFacebookはWebサーバで動作するプログラムはPHPを使って開発されました。なお、現在は2014年3月20日に一般公開されたFacebook独自の開発言語Hack(ハック)を使用しています。
Yahoo!
Yahoo!(米国)では、PHP開発者などPHP関係者が多数在籍していたこともあり、サーバ構成やアプリケーションレイアウト、セキュリティなどのさまざまな分野でPHPが使用されています。Yahoo!JAPANもPHPを使って各サービスが開発されました。現在は、Yahoo!カレンダーのように別言語への移行も実施されています。
EC-CUBE
オープンソースのECサイト構築システムのEC-CUBE(イーシー・キューブ)はPHPで開発されています。
PHPの基本的な書き方
非常に手軽でシンプルと言われるPHPですが、どのように記述するのか、PHPの基本の書き方について解説します。ここではPHPの書き方であるHTMLのソースコード内にタグを埋め込む場合について解説します。
PHPの基本的な書き方とは
PHPの基本的な記述方法についてご紹介します。
最もシンプルにPHPのコードを記述する方法は、「.php」の拡張子を使ってファイルを作成する方法です。「.php」の拡張子をつけることで、PHPファイルであることをコンピューターが認識してくれます。
例として、「Hello World」とWebサイトで表示させるファイルを作成します。非常にシンプルなコードですが、コードの内容としては次になります。
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php echo '<p>Hello World</p>';?>
</body>
</html>
一般的なHTMLのタグの中に、<?php~ ?>という長いタグが埋め込まれています。
この長いタグがPHPのプログラムです。上記のコード記述の結果、次の出力がブラウザに送信されます。
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<p>Hello World</p>
</body>
</html>
結果として、ブラウザ上に「Hello World」が表示されます。
記述ルール
このようにPHPは <?php で始まり、 ?> で終わります。また、プログラムの1行は ; で終了します。例えば上記の場合、
<?php echo '<p>Hello World</p>';?>
がプログラムとなります。echoは、後続の文字列を出力する文になり、今回の場合、<p>Hello World</p>という文字列を出力します。
シングルクォーテーションとダブルクォーテーション
シングルクォーテーションは、挟まれたものをプログラムではなく文字列だと認識させるためのマークになります。ダブルクォーテーションも同様の動作を行いますが、ダブルクォーテーションでくくられた場合、変数は展開されて表示されます。
<?php
$e = '123';
echo "{$e}45"; // 変数が展開され、「12345」と表示される
echo '{$e}45'; // 変数が展開されず、「{$e}45」と表示される
?>
文字列の連結
文字列は . で接続することが可能です。
<?php
echo '123' . '45'; // 「12345」と表示される
?>
コメントアウト
コメントアウトは2種類あります。1行のみコメントアウトする場合は //、複数行コメントアウトしたい場合は /* */ で行ないます。
<?php
// 1行のみのコメントアウト
/*
複数行まとめて
コメントアウトが可能です
*/
?>
基本的な関数の作り方
PHPでは次のように関数を作成して実行します。
<?php
// test_function という名前の関数を作成
function test_function() {
}
// test_function という関数を実行
test_function();
?>
PHPの基本構文について
PHPの基本構文を2点紹介します。
if構文
if構文は「もし~なら~する」といった条件分岐を表す際に使用する構文です。
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'],'MSIE') !== false) {
echo 'あなたはInternet Explorerを使用しています';
}
?>
例えば、Internet Explorerを使用しているか否かをチェックするためには、if構文を用いて次のように記述できます。
for構文
for構文はループを表す構文です。
例えば、1~10までの数字をfor文で記述する際には、次のようになります。
<?php
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
?>
$i =1(初期値が「1」であることを表す)
$i <= 10(「10以下」までループすることを表す)
$i++(処理1回ごとにいくつ数字を増減するか。「++」は「+1」。「+2」したい時は「+2」、「-1」したい時は「-1」)
以上の結果、ブラウザでは「12345678910」と表示されます。
PHP初心者でもできる学習方法
PHPを学習する方法
PHPの効果的な学習にはいくつかの方法があります。それぞれの特徴について解説します。
学習サイト
PHPを手軽に学習するには、無料学習サイトがおすすめです。プログラミングがはじめての人でも抵抗なく学習をスタートできる学習サイトがあるので、雰囲気をつかむ意味でも一度チェックしてみると良いでしょう。
PHPに関する書籍
PHPは人気のある言語なので日本語での書籍も充実しています。まずは初心者向けのものからチョイスしていくと良いでしょう。PHP技術者認定初級試験の対策テキストや問題集もおすすめです。
PHPの習得におすすめなサイト
ドットインストール
ドットインストールは、PHPを含むさまざまなプログラミング言語を、1回3分の動画で学習することができます。入門編は無料で利用することができ、「PHP入門」では数値の演算やローカル変数など30の講座が設けられています。
CakePHP クックブック
CakePHPクックブックはWeb開発を簡単に学習できるように作成されたWebサイトです。CakePHPクックブックを使ったフレームワークについて学習することができます。
PHPのエンジニア需要
PHPエンジニアの需要や活躍できるフィールドについて紹介します。
PHPエンジニアの需要
PHPは、Web開発環境として非常に高いニーズがあります。WordPressやSNS、ECサイトに利用されていることからも分かる通り、Web開発言語の分野では求人数もトップクラスです。また、Web開発の4点セットと言われるLAMP(Linux、Apache、MySQL、PHP)のひとつでもあることも求人案件が多い要因です。
PHPはサーバ側で動くプログラミング言語なので、サーバーサイドエンジニアとしての求人件数が多く、自社開発系や受託系など、さまざまな業種・コンテンツ制作に関われる可能性が高いという特徴があります。
実務未経験でもチャンスはある
現在、ITエンジニア業界は人材不足であり、未経験でも応募ができるPHPエンジニアの求人案件は少なくありません。より良い条件での採用を目指すなら、スキルを身に付けてPHP技術者認定資格などの資格を取得してから応募するという方法もあります。
AKKODiSの派遣・紹介予定派遣では未経験でも応募可能な求人が多数用意されています。さらに「AKKODiS Academy」では、無料でIT・エンジニア職種の専門技術に特化した講座を受講し、就業までのサポートを受けることも可能です。
さまざまなWebサイトに用いられるPHP
PHPは、Web系のプログラミング言語の中で最も使われている言語のひとつです。シンプルかつ手軽なコーディングで動的なサイトを作ることができるため、CMSやECサイト、SNSなどさまざまなジャンルのWebサイトに用いられています。
正社員や派遣社員として働くPHPエンジニアは、Web開発の現場、特にサーバーサイドエンジニアとしての活躍の場が多数あります。Web開発をはじめとした現場で活用できるよう、PHP習得をはじめてみてはいかがしょうか。
AKKODiSでは、PHPのみならずさまざまなスキルを学びスキルアップするIT・エンジニアの皆様を応援します。
(2020年12月現在)