![](https://howalab.com/wp-content/uploads/2022/04/wordpress-ga97388aa5_1920-1024x575.jpg)
WordPressをいじっていると、PHPという単語をよく耳にしますよね。
そして実際にWordPressのデータベースやプラグインなどをいじろうとするときにも必要になってきます。
そこで今回は、PHPについての基本的な知識をまとめてみます!
- プログラミング未収得の方は、基礎知識を掴める
- 他のプログラミング言語習得済みの方は、このページを読むだけでだいたい使えるようになる
レベルでのまとめになっていますので、是非サラッと見てみてください!
PHPとは
PHPとは、1995年にラスマス・ラードフ(Rasmus Lerdorf)さんが開発したプログラミング言語です。
PHPの正式名称は、Hypertext Preprocessorといい、PHPが扱えるようになると、
- WordPressでのWebサイト作成
- Webアプリケーション開発
などができるようになります。
スクリプト言語である
PHPは、
- JavaScript
- Python
- Ruby
などと同じ、スクリプト言語です。
スクリプト言語は定義があいまいですが、
- プログラミングの難易度が比較的低い
- 実行が比較的容易である
言語のことを指します。
コンパイル/エラー発見
C言語のように「一括コンパイル⇒実行」ではなく、PHPは
- 函数定義はコンパイル時に
- クラスの解決は実行時に
行われます。
また、PHPのクロスローダーは、PHP実行時に未定義のクラスが登場して初めて、そのクラスが定義されたファイルを読み込みます。
サーバーサイドの言語である
JavaScriptなどはクライアントサイドのブラウザ上で動く言語であるのに対して、PHPはサーバー側で動作する言語です。
そのため、データベースの操作などが出来ます。
また、CakePHPなど、フレームワークが充実していて、PHPのコーディングを効率よく進めていくことが出来ます。
WordPressはPHPでできている
このサイトはWordPressで作成しています。
そのWordPress自体はPHPでできています。
そのためPHPを学ぶことで、WordPressで独自のカスタマイズは機能を実装したり、オリジナリティを出すことが出来るようになります。
プログラムの基本構造
プログラミングには3つの基本構造があります。
それは
- 順次実行
- 条件分岐
- 繰り返し
の3つだけです。
これはPHPだけでなく、プログラミング言語すべてに共通の構造です。
そして、この3つの基本構造を使えば複雑なプログラムを作ることが出来ます。
順次構造
順次構造とはその名の通り、順番に実行をしていく処理です。
![](https://howalab.com/wp-content/uploads/2022/05/順次.jpg)
最も単純な基本構造であり、特に指定しない限り、プログラムは順次実行されていきます。
分岐構造
分岐構造とは、条件分岐を持つ構造です。
例えばYes/Noで別れる条件があったとすると
![](https://howalab.com/wp-content/uploads/2022/05/反復.jpg)
このように条件の判断結果によって処理を分ける構造です。
反復構造
反復構造とは、特定の条件下の時に、処理を繰り返す構造です。
反復構造には前判定型と後判定型の2パターンあります。
![](https://howalab.com/wp-content/uploads/2022/05/分岐.jpg)
この様に2つのパターンがありますが、基本的には前判定型を覚えておけばOKです。
後判定だと処理が分かりにくくなるため、実際に用いることはすくないので。。。
実際のコード:基本ルール
それではPHPの実際のコードを見ていきましょう。
プログラミング言語習得の際には、よく文字列を表示するコードを例に出します。
したがってここでも”Hello”と表示するコードを例に出してみます。
それがこちら。
<?php echo "Hello";?>
それでは1つずつ基本ルールについて説明していきます。
基本ルール1:ファイル拡張子
プログラミング言語はそれぞれ拡張子が決まっているのはご存じでしょうか。
PHPではそのまま”.php”とすればOKです。
基本ルール2:はじめと終わり
PHPには「<?php」で始まり、「?>」で終わるというルールがあり、この中に実行するプログラムを記述します。
ただし、終わりの「?>」は省略可能です。
したがって、
<?php echo "Hello";?>
と
<?php echo "Hello";
は同じプログラムとなります。
では複数行記載するときはどうすればいいでしょうか?
それは、プログラム全体のはじめに「<?php」を、全体の終わりに「?>」を書けばOKです。
したがって、
<?php echo "Hello";?>
<?php echo "Hi";?>
と
<?php
echo "Hello";
echo "Hi";
?>
は同じプログラムとなります。
基本ルール3:コメントアウト
コメントアウトは「//」で記述します。
<?php
// "Hello"と表示する
echo "Hello";
?>
基本ルール4:変数
命名
PHPの変数は、「$」を付けて宣言します。
また、宣言と同時に代入も可能です。
<?php
$num1;
$num1 = 1;
echo $num1;
$num2 = 2;
echo $num2;
?>
また、変数名に使えるのは
- アルファベット
- 数字
- アンダースコア(_)
の3種類です。
また、変数名は数値から始めることはできないので注意してください。
そして、他の言語を習得されている方は、バージョンにもよりますが、PHPでは予約語も変数名として使用できるということに注意してください。
型
PHPは動的型付け言語なので、変数宣言の際に型を宣言する必要ないですが、大きく3つの型があることを意識してください。
その3つの型とは
- 数値型
- 文字列型
- ブール型
です。
まず数値型には、整数型の「integer型」、小数点型の「float型」「double型」があります。
「double型」と「float型」の違いは、「double型」の方が、小数点以下の桁数が多いデータを代入できる点にあります。
PHPのデータ型は、「gettype()」を使用して確認する事が出来るので、うまく動作しない場合は型を表示して確認してみてください。
文字列型は「string型」ともいい、この型1つです。
ブール型は「boolean型」ともいい、この型1つです。
ただし、この「boolean型」は特殊で、一般的なプログラミング言語の「boolean型」はTrue/Falseが入りますが、PHPではTrueのときに「1」が入り、Falseの時は「」となり、何も表示されません。
実際のコード:基本コード(if/switch/for)
if
if文は他の言語と同様に() と{}を用いて
if (条件) {
真の時の処理
} else {
偽の時の処理
}
のように書いていきます。
具体的には
<?php
$score = 85;
if (80 <= score) {
// scoreが80以上なら"合格"と表示
echo "合格";
} else {
// それ以外は"不合格"と表示
echo "不合格";
}
?>
のように記述します。
もちろんほかの言語同様、「 else if 」も使用可能です。
switch
PHPでは「switch」も使用可能です。
if文での判定では大小比較ができますが、「switch」は値が同等かどうかの比較にのみ用います。
例えば
<?php
$person = "Adult";
if (person == "Adult") {
echo "大人料金";
} else if (person == "Junior"){
echo "中人料金";
} else if (person == "Child"){
echo "小人料金";
} else {
echo "無料";
}
?>
と書いてもいいですが、これをswitch文で書くと
<?php
$person = "Adult";
switch ($person) {
case "Adult":
echo "大人料金";
break;
case "Junior":
echo "中人料金";
break;
case "Child":
echo "小人料金";
break;
default:
echo "無料";
break;
}
?>
と書くことが出来ます。
また、複数のケースをまとめて
<?php
$person = "Adult";
switch ($person) {
case "Adult":
case "Junior":
echo "大人料金";
break;
case "Child":
echo "小人料金";
break;
default:
echo "無料";
break;
}
?>
のように記載することもできます。
for
if文は他の言語と同様に() と{}を用いて
for (スタート値; 継続条件; 増減式) {
繰り返し中に実行する処理
}
のように書いていきます。
具体的には
<?php
for($i = 0; $i <= 4; $i ++) {
echo $i."\n";
}
?>
のように記述します。
break
繰り返し処理を終了させるときに用います。
continue
繰り返し処理をスキップするときに用います。
実際のコード:関数
さてここからは他のプログラミング言語を習得している方は確認するだけで使いこなせると思います。
しかし、初心者の方にはちょっと難しい内容になってしまいますので、ここで紹介したもの自体を学習するようにしてください。
関数
PHPで関数を宣言するときは、functionに続けて記載していきます。
“テスト関数実行”という文字列を表示させる関数を定義し、実行する処理は以下の通りです。
<?php
// 関数を定義
function test_func() {
echo "テスト関数実行";
}
// テスト関数を実行
test_func();
?>
関数を変数に代入
PHPでは、数字や文字列と同様に、関数も変数に代入できます。
また、関数が代入された変数は、関数名のように扱い実行できます。
<?php
// 関数を変数に代入
$test_func = function () {
echo "テスト関数実行";
}
// テスト関数を実行
test_func();
?>
引数と戻り値
PHPの関数では、
引数 :0個以上
戻り値:0、もしくは1つ
設定することが可能です。
複数の値を返したい場合は、「array()」もしくは「list()」を使用するなどしてください。
実際のコード:クラス
クラスとはデータと処理をまとめたもののことを言います。
PHPではデータをプロパティといい、処理をメソッドと言います。
アクセス修飾子
PHPでのアクセス修飾子は3つあります。
- public
-
どこからでもアクセス可能
- protected
-
クラス自身、親クラス、継承したクラスからアクセス可能
- private
-
同じクラスからアクセス可能
他の言語を習得済みの方はこれを見るだけで大体の使い方はわかるかと思います。
<?php
// クラスの宣言
class Student {
// プロパティの宣言
public $name;
// コンストラクタの宣言
public function __construct($name) {
$this->name = $name;
}
// メソッドの宣言
function avg($math, $english) {
echo (($math + $english) / 2)."\n";
}
}
// クラスのインスタンスを生成
$a001 = new Student();
// プロパティへ代入
$a001->name = "sato";
echo $a001->name."\n";
$a002 = new Student();
echo $a002->name."\n";
まとめ
今回は、簡単にPHPの超基本編をまとめてみました。
他のプログロムを知っている方はここまで読めば大体使いこなすイメージが付いたのではないでしょうか?
関数やクラスについてはプログラミング取得者向けに簡単に記載をしてみました。
もっと詳しく知りたい人がいたら基礎知識集を作りたいと思いますので、是非リクエストください!