PHPを使うと、どんなことができるの?
初心者の僕にわかるように、PHPについて簡潔にまとめてほしい。
こんな疑問に答えます。
本記事では、PHP(ピー・エイチー・ピー)について、簡潔に解説します。
サイトに動きをつけたいならPHP
HTMLで全ページ作るのがシンドイならPHP
サイトでユーザーからの情報を受け取りたいならPHP
乱暴にまとめるとこんな感じです。
本記事では、初心者の人でも理解できるよう、なるべく難しい単語は省きつつ、PHPの仕組みや、PHPでできることを図解を交えて解説するので参考にしてください。
後半には“無料でできるおすすめのPHP学習法”も紹介するので、本記事を読んでPHPに興味が湧いたら勉強してみましょう。
一年前まで、僕もPHP初心者だった
アラサー男子 in L.A.
PHP歴:1年
PHPでできること:WordPressカスタマイズ
PHPを覚えてよかったこと①:WEB制作が楽になった
PHPを覚えてよかったこと②:仕事の受注が増えた
「PHPとは…」なんて記事を書いている僕ですが、1年前まではPHP初心者でした。
そこからコツコツとPHPを独学した結果、WEB制作の効率化が進み、WordPressも深く理解できるようになったので、より広範囲のカスタマイズが可能になりました。
PHPは幅広い機能を持ったWEBサイトを作るために欠かせないプログラミング言語です。
本記事を通じて、PHPの魅力を理解しながら、無料学習からスタートすれば、誰でもPHPを深く理解できるようになると信じています。
スポンサードサーチ
本記事のもくじ
【PHPとは】仕組みとできること(初心者向けに解説)
まずは簡単にPHPの仕組みと、PHPを使ってできることについて解説します。
基礎的なところのみを抽出して解説するので、PHPがどんなプログラミング言語なのかを理解しましょう。
PHPとは:どんなプログラミング言語なの?
プログラミング言語には大きく分けて、静的なページを作るものと、動的なページを作るものがあります。
PHPは“動的なページを作る言語”です。
有名どころのプログラミング言語と比較しつつ、PHPの特徴をまとめました。
HTMLとの違い:“1ページ丸々” or “パーツごと”
HTMLとPHPのもっとも大きな違いは、“1ページを丸々作る” or “パーツを作る”です。
- HTML:1ページを丸々作る
- PHP:パーツを作って組み合わせる
WordPressではPHPが使われていますが、それは全ページ共通の要素があるからです。
記事の中身は違えど、他は共通です
ブログの場合、ヘッダーやサイドバーなど、全ページで共通する項目がたくさんありますよね。
このような場合、PHPで各パーツを作り、組み合わせて1ページとして表示することで、作業効率が爆上がりします。
PHPファイルを組み合わせてページを作るとは【図解】
WordPressを例に挙げて、もう少し解説しますね。
管理画面から[外観]
> [テーマエディター]
と進むと、右側にファイル一覧がズラッと出てくると思います。
そのなかには、「header.php」や「footer.php」などのファイルがあり、それぞれが指定の場所をデザインしているPHPファイルです。
- header.php:ヘッダーをデザインしているPHPファイル
- footer.php:フッターをデザインしているPHPファイル
そして、これらのパーツを組み合わせて、ページ全体が表示されるようになっているのがWordPressです。
HTMLだけでページを作ろうとすると、、、
しかし、PHPを使わずにHTMLだけでページを作ろうとすると、、、
全ページ共通項目であっても、全てのファイルに同じ記述をしなければなりません。
つまり、50ページ存在するWEBサイトで、全ページに同じサイドバーを設置したければ、1ページずつにサイドバーの記述をしなければならないということです。
作るだけならコピペでゴリ押しできますが、もし途中でサイドバーのデザインを変えたくなったら、、、ゾッとします、、、汗
サイドバーを編集するだけなのに、50ページ分を修正しなきゃいけないWEBサイトなんて、作業効率悪すぎですよね。
HTMLは骨組み、PHPはパーツ
ということで、HTMLとPHPの違いは、1ページまるっと作るのか、パーツごとに分けて作り組み合わせるのか、というところになります。
HTMLで全体の骨組みを作り、そのなかにPHPを設置するというのが一般的です。
» 参考記事:「HTMLとは?」を基礎からわかりやすく解説【初心者向けの勉強法もこっそり教えます】
CSSとの違い:大きく違う
CSSはページを作るためのプログラミング言語ではなく、ページを装飾するための言語です。
根本的に違うので、残念ながらCSSにはPHPと比較できるところはありません。
こんなときに使うのがCSSになります。詳しい解説は別記事で用意していますので、そちらをどうぞ。
» 参考記事:CSS入門の手引き:スタイルシートの基本的な書き方【初心者向けに基礎知識をガッツリ解説】
JavaScriptとの違い:処理のタイミング
もうひとつ、WEB制作に欠かせないプログラミング言語として“JavaScript”があります。
JavaScriptを使うことで、ページに動きをつけることが可能です。
たとえば、次のように文字に動きをつけたり、ですね。
PHPとJavaScriptの違い
PHPとJavaScriptの違いは、データ処理のタイミングです。
PHPがサーバー側で動きを処理するプログラミング言語に対し、JavaScriptはユーザー側で処理する言語なので、サーバーに負荷がかかりません。
デザイン要素の動きであれば、JavaScriptでほとんど作れてしまうため、PHPはデータベースと連携するような処理、JavaScriptはデザイン目的の処理という感じで分けて使われることが一般的です。
【補足】建物をイメージするとわかりやすい
PHPとJavaScriptの違いは、建物をイメージするとわかりやすいかもです。
JavaScript:自動ドア、エスカレーター、モーションセンサーモニター、など
PHP:夜10時に自動消灯するシステム、顔認証によるセキュリティシステム、など
JavaScriptは、お客さんの動きがあってこその機能ですが、PHPはより根幹の部分を担っている感じがしますね。
上記は、あくまでイメージですが、今はだいたいの違いがつかめればOKです。
PHPでできること
PHPを使ってできることの一例をまとめました。
当たり前のように存在するWEBの仕組みも、実はPHPあってこそ成り立ってるものも少なくありません。
【PHPが使われる場面】こんなにあります
- お問い合わせフォーム
- 予約システム
- サイト内の検索機能
- ログイン機能
- ECサイト
長くなるので、各機能で行われているPHP処理そのものについては省略します。
ですが、上記を見れば、今やPHPを使わないWEBサイトの存在は希少すぎることがわかりますよね…。
PHPは、それだけプログラミング業界に浸透していると言えます。
スポンサードサーチ
【PHPの書き方】初心者が覚えたい基礎文法
PHPの仕組みやできることは、だいたいわかってもらえたと思うので、ちょっとだけ基礎文法も解説しておきます。
本当に基礎の基礎なので、これがPHPのすべてではありませんが、実際に文法を見てみるとPHPの全体像もつかみやすくなるはずです。
PHPの記述ルール
まずはPHPの記述ルールを簡単に解説しますね。
開始タグと終了タグ
PHPでは、先頭と終わりを<?php
と?>
で囲みます。
<?php
ここにコードを書く
?>
コードの区切りはセミコロン
コードの命令を書き終えたら、「;(セミコロン)」で閉じるのがルールです。
<?php
ここにコードを書く;
ここに次のコードを書く;
ここに次のコードを書く;
?>
コードの間は半角スペース、Tab、改行のどれか
セミコロンで閉じた、それぞれの命令の間は、①半角スペース、②Tabスペース、③改行のどれかで区切ります。
<?php
半角スペースを入れる; (←この前)半角スペース;
タブキーでスペースを入れる; (←この前)タブでスペース:
改行でも良い;
改行でも良い;
?>
ただし、HTMLの中にPHPを組み込む場合、主コードであるHTMLをより読みやすくするため、PHPには無駄な改行を使わないことが多いです。
人それぞれの好みですが、僕は半角スペースをよく使います。
コメントアウトの方法
PHPでコメントアウトするには、3つの方法があります。どれを使ってもOKです。
<?php
ここにコードを書く;
<!-- これがコメント -->
ここにコードを書く; #これもコメント
ここにコードを書く; //これもコメント
?>
PHPの基本文法(初心者向けに4つ紹介します)
PHPで基本となる文法を4つ紹介します。
いきなり理解するのはハードル高めかもしれないので、「PHPではこんなことができるんだ」くらいの感じで読んでみてください。
1. 変数
変数は、何度も出てくる値を格納しておくための入れ物です。
たとえば、サイト内に「こんにちは」というフレーズを繰り返し使いたいとします。
毎回、HTMLで「こんにちは」と書くのはめんどくさいので、PHPの変数として登録しておくと便利です。
変数のイメージ
変数はこんな感じで書きます。
<?php $hello = 'こんにちは'; ?>
これで、[hello]
という変数の値を「こんにちは」に指定して保存しておくことが可能です。
これをHTMLの中で繰り返し使ってみましょう。
<?php $hello = 'こんにちは'; ?> //これが変数
<html>
<head>
<title><?php echo $hello; ?></title>
</head>
<body>
<h1><?php echo $hello; ?></h1>
<p><?php echo $hello; ?>アラサー男子です。</p>
</body>
</html>
こうすることで、<title>
、<h1>
、<p>
のなかに「こんにちは」と表示されるようになります。
繰り返しになりますが、PHPは一つの値を換えれば、すべて書き変わります。
HTMLの中に「こんにちは」が100回登場する場合、<?php $hello = 'こんにちは'; ?>
を<?php $hello = 'おはよう'; ?>
に変えるだけで、100箇所すべてが一気に「おはよう」に変わるのでとても便利です。
2. 配列
配列は、変数の箱を仕切りで区切り、値を何個も入れておくイメージです。
配列のイメージ
配列はこのように使います。
<?php $img = [
'https://ksonoda.com/画像.jpg', //箱番号[0]
'640', //箱番号[1]
'480' //箱番号[2]
];
?>
このように、画像のURL、横幅、縦幅を、0から始まる番号付きの箱にまとめて格納しつつ、呼び出すときは下記のように記述します。
<img src="<?php echo $img[0]; ?>" width="<?php echo $img[1]; ?>" height="<?php echo $img[2]; ?>"
これで出力すると、<img src="https://ksonoda.com/画像.jpg" width="640" height="480"
と表示されます。
配列にはいくつも値を格納しておくことができるので、画像URLを3つとか格納しておいて、横幅、縦幅も入れておけば、次のようにも呼び出すことが可能です。
<?php $img = [
'https://ksonoda.com/画像1.jpg', //箱番号[0]
'https://ksonoda.com/画像2.jpg', //箱番号[1]
'https://ksonoda.com/画像3.jpg', //箱番号[2]
'640', //箱番号[3]
'480' //箱番号[4]
];
?>
<img src="<?php echo $img[0]; ?>" width="<?php echo $img[3]; ?>" height="<?php echo $img[4]; ?>"<!-- 画像1 -->
<img src="<?php echo $img[1]; ?>" width="<?php echo $img[3]; ?>" height="<?php echo $img[4]; ?>"<!-- 画像2 -->
<img src="<?php echo $img[2]; ?>" width="<?php echo $img[3]; ?>" height="<?php echo $img[4]; ?>"<!-- 画像3 -->
3. 関数
関数は、自動的に処理をして値を出力するときに便利です。
わかりやすい例だと”日付”ですね。
たとえば、2021年8月1日にページを開いたら、「今日は2021年8月1日です」と表示させ、次の日にページを開くと「今日は2021年8月2日です」と表示させる感じです。
このように、関数を使うとアクセスのタイミングによってデータを引用し、自動的に表示内容を変えて出力することが可能になります。
<?php
$today = date( 'y年n月j日' );
echo $today;
?>
復習:PHP処理のタイミングはサーバー側
本記事の前半で解説した通り、PHPはサーバー側で処理されるプログラミング言語のため、ここで呼び出されるのはサーバーの時間帯です。
そのため、ロサンゼルス在住の僕が8月1日にページを訪れたとしても、PHPで処理される時間帯はサーバーがある日本時間なので、ページ上は「今日は2021年8月2日です」と表示されることになります。
(※8月1日(L.A.時間)は8月2日(日本時間))
4. ifで条件分岐
ifを使うと「〇〇のときは、△△する」みたいな条件に応じた処理をしてくれます。
<?php
$hour = date( 'G' );
if ( $hour < 10 ) {
echo 'グッドモーニング!!';
}
?>
上記の例では、「もし、Gの値が10より少なければ、’グッドモーニング!!’と表示する」という命令を出しています。
ifはWordPressにも頻出
ifは、WordPressでも頻出する文法でして、テーマのPHPファイル内でもよく使われています。
条件分岐は、いくつもできるので、「〇〇のときは△△する。□□のときは××する。」みたいなことも可能です。
スポンサードサーチ
まとめ:おすすめのPHP学習法はこれです(完全無料)
本記事は以上です。
PHPの基礎情報を初心者向けに解説しました。
記事の後半で紹介した基礎構文や書き方を、いきなり理解する必要はありません。
少しずつ理解していけば、気づいた頃にはPHPの基本は身に付いているはずなので、ゆっくり前進していきましょう。
【完全無料】おすすめ学習法
「PHPに少し興味が出てきたよ」という人に、おすすめの学習法があります。
TechAcademyの無料体験(10日間)です。
完全無料なので、お金をかけずに、PHPの気になるところを、プロエンジニアから直接教えてもらうことが可能です。
講義を受けつつ、プロが作った問題集を解いて、PHPの知識を深めましょう。
気になるところやわからない場所は、プロエンジニアに質問できるので安心です。
TechAcademyの無料体験は、上記のリンクからどうぞ。
今を逃すと、無料でプロの直接指導を受けられるチャンスは無いかもです。
おわり。