PHPの準備
PHPはサーバーサイドスクリプト
Webページをブラウザで表示する
WebページのURLをアドレスバーに入力すると?
→WebサーバーからHTML/CSS/画像などが送られる。すると?
→Webブラウザが表示する。
HTMLコードで作られたWebページは、テキストや写真などのレイアウトが固定したページになる。
ログインしている人によって表示する内容が違ったり、ショッピングカートのようにユーザーの操作に応じて画面が変化したりする動的なWebページを作りたい。どうする?
→Webページにプログラミングを組み込む。要は JavaScriptやPHPといったプログラミング言語 をHTMLに組み込む。
クライアントサイドスクリプトとサーバサイドスクリプト
JavaScriptはクライアントサイドスクリプト
JavaScriptはHTMLファイルに組み込まれるか、画像などと同じようにWebサーバからダウンロードされる。すると?
→JavascriptのプログラムはWebブラウザで実行され、画面を変化させたり、計算結果を表示したりする。
「 JavaScriptのプログラムはWebブラウザで実行される 」という部分が重要です。プログラムはクライアントサイド、つまりユーザ側の端末で実行されます。
一方、 PHPはサーバーサイドスクリプト です。 PHPのプログラムはダウンロードされる前にWeサーバーで実行されます。 Webブラウザに ダウンロードされるのはプログラムの実行結果としてのHTMLコード です。
つまり、ダウンロードされたHTMLコードを見てもPHPのプログラムコードは書いてないです。
クライアントサイドスクリプトとサーバサイドスクリプトの長所と短所
JavaScriptなどのクライアントサイドスクリプトの長所は、 ブラウザ側での操作やウインドウの変化に即座に応じることができる 点です。これを活かしてマウスの動きを利用したインタラクティブなアニメーションを演出することができます。
もっと具体的にいうと、マウスが動きますよね?そして・・・
→JavaScriptなどのクライアントサイドスクリプトが実行されます。そして・・・
→HTML/CSSが操作されてアニメーションが演出されます。
長所
・ブラウザ側での操作に即座に対応できる。
・ウインドウの変化やマウスの座標などを利用できる。
クライアントサイドスクリプトの短所は、Webブラウザの種類やバージョンの違いによって、 プログラム言語(JSなど)に対応してなかったり、 ユーザの設定によっては プログラムの実行が許可されていなかった りします。
また、 プログラムコードを簡単に読まれてしまう ことも短所の一つです。悪意のある開発者によって、端末側で実行される不正プログラムが埋め込まれる危険性もあります。
短所
・Webブラウザによってはプログラムを実行できないことがある。
・利用しないコードやデータをダウンロードする無駄がある。
・プログラムコードを読まれてしまう。
・端末側で不正プログラムを実行できる。
サーバーサイドスクリプトの長所と短所
PHPなどのサーバーサイドスクリプトの長所は、クライアント、つまり、 Webブラウザの違いにプログラムの処理が影響されない点 です。サーバーサイドスクリプトのプログラムコードはダウンロードされないので、 プログラムコードを盗み見されません。 また、端末側では不正プログラムを実行できません。
長所
・プログラムの実行がWebブラウザの違いに影響されない。
・プログラムコードを盗み見されない。
・端末側で不正プログラムを実行できない。
一方、サーバサイドスクリプトはユーザの操作に応じてリアルタイムで画面の一部を書き換えるといった処理には向きません。プログラムコードがサーバで実行されることから、 サーバ攻撃へのセキュリティ対策 が欠きません。
短所
・操作に応じたリアルタイムな処理には向かない。
・サーバ攻撃への対策が必要。
PHPが活躍する利用場面
サーバサイドスクリプトであるPHPが最も得意とする利用場面は、 MySQLなどのデータベースとの連携です。 データベースにデータを追加する、値を検索して表示する、値を更新するといった処理を提供します。
具体的にいうと、ブログ、SNS、ショッピングサイト、スケジュール管理、会員管理といったデータベースを組み合わせたサイト構築にPHPノプログラムガ利用されてます。ブログなら記事をDBに保存させておかないといけませんよね。
PHPコードを編集するエディタ
PHPコードを編集するエディタは、 UTF-8を編集できるテキストエディタ ならなんでも構いません。PHPコードのシンタックス(構文)を色分けしたり、自動インデントやコード補完を行ってくれる便利なエディタもあります。
例えば、AtomやCotEditorが良いです。どちらも数多くのプログラミング言語のシンタックスに対応しており、アップデートも頻繁に行われ安心して利用できます。
PHPの公式マニュアル
過去のバージョンからPHP8への移行
過去のバージョンからPHP8への変更点、追加機能をまとめたページのリンク(7.4xから8.0xへの移行)→
https://www.php.net/manual/ja/migration80.php
メジャーバージョンの変更では全体的な操作性が変わったり、まとまった数の主要機能が追加・変更されてます。