2018年06月01日
PHPというプログラミング言語をご存知でしょうか。
PHPは登場してから歴史も長く、多くのシステムやプログラムに使用されています。
現在、多くのホームページやブログで使用されているWordPressもPHPを用いて制作されています。
今回は、PHPの使い方・フレームワーク・PHPを使って制作されたサービスなどを紹介するので、ぜひ参考にしてください。
PHPを使用するためには、必要なファイルをダウンロードする必要があります。
下のURLから必要なファイルをダウンロードしましょう。
ダウンロードURL:http://www.php.net/
サイトにアクセスしたら、左上に表示されている「Downloads」のボタンをクリックします。
現在(2918年5月)では、「PHP 7.2.5」が用意されている中で1番最新のバージョンです。
特別な理由がない限り、最新バージョンをダウンロードするのがおすすめ。
他のバージョンを使いたいという人は「PHP 7.1.17」「PHP 7.0.30」「PHP 5.6.36」の中から好きな選ぶことができます。
自分の使いたいバージョンが決まったらダウンロードしましょう。
これでダウンロードは完了です。
ダウンロードが完了したら、次はインストールをおこないましょう。
インストールはダウンロードしたファイルを解凍して任意のディレクトリに展開するだけです。
インストールが完了した次は、実際にPHPを記述していきましょう。
これからPHPの基本的な記述に関するルールを解説します。
まず、PHPのプログラムを記述するのに必要なのが、「開始タグと終了タグ」です。
開始タグには「」を記述します。
また、コードの1番最後には「;」セミコロンが必要です。
実際にPHPのコードを見てみましょう。
<?php echo "Hello World"; ?>
このコードは「Hello World」と表示するためのコードです。
開始タグには「」が使われているのがわかります。
また、「”Hello World”」の後には「;」セミコロンも記述されています。
ここで使われている「echo」というコードは文字列を出力するためのコードです。
文字列を出力するためのコードは「echo」だけではありません。
「print」というコードを使って文字列を表示させることもできます。
以下のコードは「print」を使って「Hello World」を表示させています。
<?php print "Hello World"; ?>
また、開始タグ「」の前にも改行を入れています。
これは記述のルールであり、コードの間を「半角スペース」「タブ」「改行」のどれかで区切る必要があります。
/*改行でコードの間を区切っている*/ <?php echo "Hello World"; ?> /*タブでコードの間を区切っている*/ <?php echo "Hello World"; ?> /*スペースでコードの間を区切っている*/ <?php echo "Hello World"; ?>
基本的には改行で区切ることでコードが読みやすくなるため、改行を使用する人が多いです。
また、拡張子にもルールがあります。
それは拡張子を「.php」にすることです。
「.html」など拡張子が異なっている場合、PHPのコードが正しく動作しません。
「.html」の場合、以下のコードでは「これはテストです。」しか表示されません。
<!DOCTYPE html> <html lang=“ja”> <head> <meta http-equiv="content-language" content="ja"> <meta name="robots" content="noindex,nofollow"> <meta charset="UTF-8"> <title>テスト</title> <style type="text/css"></style> </head> <body> /*拡張子が「.html」の場合「これはテストです。」しか表示されない*/ <p>これはテストです。</p> <p> <?php echo "PHPは表示されていますか?"; ?> </p> </body> </html>
拡張子が 「.html」の場合、PHPのコードが正常に動作しないため「これはテストです。」しか表示されません。
しかし、拡張子を「.php」にすることでPHPのコードが正しく動作して「PHPは表示されていますか?」の文章も表示されます。
<!DOCTYPE html> <html lang=“ja”> <head> <meta http-equiv="content-language" content="ja"> <meta name="robots" content="noindex,nofollow"> <meta charset="UTF-8"> <title>テスト</title> <style type="text/css"></style> </head> <body> /*拡張子が「.php」の場合「これはテストです。」と「PHPは表示されていますか?」表示される*/ <p>これはテストです。</p> <p> <?php echo "PHPは表示されていますか?"; ?> </p> </body> </html>
このようにPHPのコードを記述するときは、拡張子を「.php」 にしましょう。
PHPもHTML、CSSと同じようにコメント機能を使用することができます。
コメントの記述方法は以下の3種類です。
・#文字列
・//文字列
・/*文字列*/
この3つのコメントの記述方法について解説します。
「#」の行末までコメントとして扱われます。
#この部分はコメントとして扱われているので、表示されません。 <?php print "Hello World"; ?>
「//」の使い方は「#」とほぼ同じです。
「//」の行末までコメントとして扱われます。
//この部分はコメントとして扱われているので、表示されません。 <?php print "Hello World"; ?>
「/**/」の使い方は、上で説明した2つの方法とは少し違います。
「/*〜*/」の間で囲まれた部分がコメントとして扱われます。
/*この部分はコメントとして扱われているので、表示されません。*/ <?php print "Hello World"; ?>
複数行をコメントする場合、「/**/」を使うのがおすすめです。
プログラミングを習得する上で欠かせないのが、四則演算です。
これまで、JavaやRubyなど他のプログラミング言語を学習した経験のある人は理解している人も多いでしょう。
四則演算は実際にプログラムを記述するときにも使用する機会が多いので、覚えておくのがおすすめです。
四則演算の記号はこのように使用します。
+・・・加算(使用例:10+10)
-・・・減算(使用例:10-10)
*・・・乗算(使用例:10*10)
/・・・除算(使用例:10*10)
%・・・剰余(使用例:17*3)
上の計算記号を使うことで、自動的に計算の答えを算出することができます。
<?php //30と表示される echo 20 + 10; //10と表示される echo 20 - 10; //200と表示される echo 20 * 10; //2と表示される echo 20 / 10; //2と表示される echo 17 % 3; ?>
「+」「-」は見てのように足し算・引き算をします。
「*」「/」は掛け算・割り算を意味する記号です。
「%」は割り算をして余った数字を表示させる記号です。
上のコードでは「17 % 3」をしており、あまった数字「2」が表示されます。
これらの記号を使用することで、プログラミングによる四則演算が可能です。
また、通常の計算式と同じで「*」「/」「%」による計算の優先順位が高く、「+」「-」による計算の優先順位は低くなっています。
優先順位を理解するために、以下のコードを見てみましょう。
<?php //20と表示される echo 10 + 5 * 2; //30と表示される echo (10 + 5) * 2; ?>
上の計算式「10 + 5 * 2」は、「5 * 2」から先に計算されるため「20」と表示されます。
2つめの計算式「(10 + 5) * 2」は、「(10 + 5)」から先に計算されるため「30」と表示されます。
このような違いがあることも覚えておきましょう。
PHPの変数は値を格納するための箱のようなモノです。
変数はこのように記述します。
$変数名 = 値; <?php $name = '田中'; $old = 20; $blood_type = A; ?>
このように記述することで、それぞれの変数にはそれぞれの値が格納されています。
格納した値は以下のように記述することで表示されます。
<?php //「田中」と表示される $name = '田中'; print $name; //「20」と表示される $old = 20; print $old; //「A」と表示される $blood_type = A; print $blood_type; ?>
また変数に先ほど説明した四則演算を組み合わせることも可能です。
<?php //「22」と表示される $old = 20; print $old + 2; ?>
また、変数名には以下の2つのルールがあります。
・先頭の文字がアルファベット
・先頭の文字がアンダーバー
変数名はこの2つのルールを守らなければなりません。
//以下の2つは良い例です。 $name $_name //以下は悪い例です。 $1234
よく間違われるのが、変数名を数字で始めることです。
面数名は数字で始めることは、できないので注意してください。
また、変数は大文字と小文字の区別がされます。
なので、変数を使用するときはアルファベットの大文字と小文字にも気をつけてください。
プログラミングで必要なif文を解説します。
プログラムは上から下に処理され、条件によって処理を変えることが可能です。
if文の記述はこのようになります。
if (条件式){ 条件式が真のときに実行する処理 }
ifを使ってこのようなコードが作成できます。
<?php $num = 150; //「数値は100以上です。」と表示されます。 if ($num >= 100){ print '数値は100以上です。'; } ?>
PHPではこのような比較演算子が使用できます。
== | a == b | aとbの値が等しい |
=== | a === b | aとbの値が等しく型も等しい |
!= | a != b | aとbの値が等しくない |
<> | a <> b | aとbの値が等しくない |
!== | a !== b | aとbの値または型が等しくない |
> | a < b | aよりbが大きい |
>= | a <= b | aよりbが大きいか等しい |
< | a > b | aよりbが小さい |
<= | a >= b | aよりbが小さいか等しい |
これらの演算子をコードを使って説明します。
「==」は左辺と右辺が等しいことを判別する演算子です。
$num = 100; if ($num == 100){ print "数値は100と同じです。"; }
「」「>=」「<=」は左辺と右辺の大小を判別する演算子です。
$num = 100; if ($num == 50){ print "数値は100よりも小さい数字です。"; } if ($num > 200){ print "数値は100よりも大きい数字です。"; }
条件式が偽(false)のときに実行する処理を記述することができます。
条件式はこのように記述します。
if (条件式){
条件式が真の時に実行する処理
}else{
条件式が偽の時に実行する処理
}
1つ目の条件式で偽(false)の場合elseの処理が実行されます。
$num = 100; if ($num > 100){ print "数値は100よりも大きい数字です。"; }else{ print "数値は100よりも小さい数字です。"; }
複数の条件分岐を記述するときは、「elseif」を使用します。
if (条件式1){
条件式1が真のときに実行する処理
}elseif (条件式2){
条件式2が真のときに実行する処理
}elseif (条件式3){
条件式3が真のときに実行する処理
}else{
上記の条件式全てに該当しない場合に実行する処理
}
実際にコードを見て条件分岐について説明します。
$num = 50; if ($num > 500){ print "数値は500よりも小さい数字です。"; }elseif ($num > 400){ print "数値は400よりも小さい数字です。"; }elseif ($num > 300){ print "数値は300よりも小さい数字です。"; }elseif ($num > 200){ print "数値は200よりも小さい数字です。"; }elseif ($num > 100){ print "数値は100よりも小さい数字です。"; }else{ print "数値は2桁の数字です。"; }
while文は繰り返し処理をおこないます。
while文は、このように記述します。
while (条件式){
実行する処理;
}
<?php $num = 0; //「123456789」と表示されます。 while ($num < 10){ print $num += 1; } ?>
上記のコードは、「num」の値が10よりも小さい場合に処理が実行され、数字が1づつ加算されていきます。
for文はwhile文と同じり返し処理をおこなうプログラムです。
for文は、このように記述します。
for (条件式){
実行する処理;
}
//「123456789」と表示されます。 for ($num = 0; $num < 10; $num++){ print $num; }
配列はは1つの変数に複数の値を格納するためのコードです。
配列は「array」を使った記述方法と「array」を使用しない記述方法の2つあります。
//「array」を使った記述方法 <?php $name = array(“tanaka”, “suzuki”,”yamada”); print $name[0]; ?> //「array」を使用しない記述方法 <?php $name[0] = “tanaka”; $name[1] = “suzuki”; $name[2] = ”yamada”; print $name[0]; ?>
関数とは変数よりも大きな範囲で文字列や数値を使い回すための機能です。
関数を使用するときは、functionを使って関数を定義します。
function 関数名(){
実行する処理;
}
functionのコードこのようになります。
//「私の名前は田中です。」と表示されます。 <?php function firstname(){ $name = “田中”; print “私の名前は” . $name . “です。”; } ?> firstname();
functionで「firstname」を定義することで記述された処理を「firstname();」と書くだけで実行できます。
引数を設定することで内容の一部を変更すること可能です。
//「私の名前は田中です。」と表示されます。 <?php function firstname(){ $name = “田中”; print “私の名前は” . $name . “です。”; } ?> firstname(鈴木);
以上がPHPの基本的な文法になります。
次はPHPで使えるフレームワークを見ていきましょう。
フレームワークとは多様な機能を搭載した枠組みです。
フレームワークを利用することでシステム開発の効率がアップします。
また、プログラミング初心者もフレームワークを利用することで比較的簡単にシステム開発ができます。
フレームワークのメリット
フレームワークのメリットは効率化・生産性の向上です。
フレームワークを利用することで何倍も速くシステム開発ができます。
機能を追加するのも容易です。
フレームワークのデメリット
フレームワークを利用するデメリットは、フレームワークを理解するための学習コストです。
フレームワークは、それぞれ独自のルールや書き方が違います。
なので、それぞれのフレームワークに適したコードの記述することが必要です。
また、フレームワークを利用することでコードの記述量が減らすことができます。
その反面、コードの理解やプログラムの知識があまりなくてもシステムを開発することが可能です。
なので、プログラミングを学習するという観点から考えるとフレームワークを利用することは良くありません。
PHPのフレームワークといえば、CakePHPとよばれるほど定番のフレームワークです。
少し古いフレームワークですが、日本語での情報量が多く、情報に困ることはありません。
プログラミング初心者でPHPのフレームワークを使いたい人にCakePHPはおすすめです。
Laravelは海外のPHPプログラマーに人気のあるフレームワークです。
CakePHPよりも簡単にシステム・アプリケーション開発をしやすいのが特徴になります。
しかし、デメリットとしてはCakePHPよりも動作スピードが少し遅いことです。
開発の面ではLaravelが優位ですが、動作の面ではCakePHPが優位になります。
海外を中心に人気がありますが、日本ではあまり浸透していません。
なので、日本語での情報量は他のフレームワークと比べると少なくなります。
Zend Frameworkは、コンポーネント同時の結び付きがゆるく独立性が高いのが特徴です。
その上、多くのコンポーネントが提供されているので、新しい機能を追加しやすいのもメリットになります。
柔軟性の高いフレームワークとして知られています。
次は、PHPを使ったサービスを紹介します。
ここからはPHPで制作されたWEBサービスを紹介します。
ポータルサイトとして人気のあったYahooもPHPを使って制作されています。
2000年代は多くの利用者がいましたが、近年の傾向としては減少傾向です。
Yahooはポータルサイト以外にも、YahooショッピングやYahooオークションなども展開しています。
昔からあるポータルサイトやWEBサービスはPHPを使用して制作されているモノが多いです。
おそらく誰もが1度は見たことのあるのがWikipediaです。
Wikipediaは様々な情報が掲載されているWEBサービスになります。
誰でも自由に情報を編集できるのが特徴です。
Wikipediaは、PHP製のオープンソースであるmediawikiというソフトを使って作られています。
しかし、現在ではHackへの移行が進められています。
ニコニコ動画は日本での動画配信の先駆けとなるWEBサービスです。
ニコニコ動画は、PHPとC++で制作されています。
世界最大のユーザーを誇るのがFacebookです。
今はHackへの移行が進められていますがサービス立ち上げ時はPHPで制作されていました。
今回はPHPの基本構文・フレームワーク・PHPで制作されているWEBサービスなどを紹介しました。
いかがでしたか?
この記事を参考にして、PHPを習得してみてはいかがでしょうか。
今すぐ無料で見積もりを依頼する
「納期に間に合わない!」「スタッフの手が空かない!」「技術的に対応できない!」
そんな時は、制作会社様とのやり取りに特化した、信頼と安心のくまwebにご依頼ください。
「納期に間に合わない!」「スタッフの手が空かない!」「技術的に対応できない!」そんな時は、制作業者様とのやり取りに特化した、信頼と安心のくまWebにご依頼ください。