PHPはオープンソースのプログラミング言語の一種です。主にサーバサイドで動的なWebページを作成するために使用されます。リッチなWebサイトを作成したい方なら必ず知っておきたいのがこのPHPという言語です。皆さんはPHPのメリット・デメリット、特徴や用途についてご存知でしょうか。この記事ではPHPを理解するために初心者でも分かるメリット・デメリット、基礎知識などを簡単に解説していきます。
PHPとはラスマス・ラードフ氏によって1995年に開発されたオープンソースのサーバーサイド言語です。動的なWebページを生成することができるプログラミング言語として全世界で親しまれています。HTMLに埋め込むことが出来ることからWebシステム開発で使用される機会が多いです。
PHPというその名称には「Hypertext PreprocessorPHPはHTMLのプリプロセッサである」という意味が込められております。特徴は『動作確認が簡単であること』や『HTMLの中で簡単にコードを動かせる』といったことが挙げられます。
またPHPはインタプリタ言語ですのでプログラムを実行する際にコンパイルが不要でソースコードの修正をした場合、即座に修正が反映されます。Webサービスを開発するプログラミング言語としてPHPは世界的にトップクラスの人気を集めています。
PHPの読み方は『ピーエイチピー』が一般的となっております。名前の由来は開発当初の正式名称「Personal Home Page Tools」の略語でPHPと呼ばれておりましたがバージョンアップを重ねていくなかで「Personal(個人向け)」というイメージを取り外すためPHPが正式名称となりました。
PHPはサーバー内部で動くもので、フロントエンドのプログラムからの指示を受けることで複雑またはデータベース依存の処理を行う仕組みを作るサーバーサイド言語です。サーバーサイド言語は一言で表すと『フロントエンドに必要な情報を送るためのプログラミング言語』といえます。このサーバーサイドはバックエンドと呼ばれることもあります。サーバサイドが存在することでユーザーが目に見えるフロントエンドに適切な情報が反映されてサービスが利用できるようになっています。
PHPと相性の良い開発環境を見ていきましょう。
LAMP環境とは人気のオープンソース系ソフトであるLinux(OS)、Apache(Webサーバ)、MySQL(データベース)、PHP(プログラミング言語)それぞれの頭文字をとって組み合わせた開発環境で使用される機会が多いです。動的なコンテンツを含むWebサイトの構築に適しており人気のある開発環境の一つとなっております。LAMP環境は全てオープンソースのソフトを活用するため開発のコストを抑えられるという点や汎用性が高いという特徴があります。LAMP環境における”P”は『Perl』や『Python』で対応する場合もあります。
LAMP環境の意味や特徴を解説している記事はこちら>>
XAMPP(ザンプ)環境とはウェブアプリケーションの実行に必要なオープンソース系ソフトをパッケージとしてまとめたものです。その名の由来はWindows、Linux、SolarisなどのクロスプラットフォームをXと表し、Apache(Webサーバ)、MariaDB(データベース)、PHP(プログラミング言語)、Parl(プログラミング言語)それぞれの頭文字をとって組み合わせ誕生しました。
WISP(ウィサプ)環境とはマイクロソフト社が提唱したLAMP環境に対抗するウェブサイト構築のための開発環境のことです。その名の由来はWindows(OS)、IIS(Webサーバ)、SQLServer(データベース)、PHP(プログラミング言語)それぞれの頭文字をとって組み合わせ誕生しました。
PHPのメリットを見ていきましょう。
PHPは他のプログラミング言語に比べて初心者でも習得しやすいというメリットがあります。そのため『簡単で覚えやすい』ということでも有名なプログラミング言語です。その理由として変数の型を意識することが必要無いため他の制約が多い言語に比べてソース量を簡略化することが出来ます。また配列の定義が自由であるため自分自身が扱いやすいように設計、実装することが出来ます。
PHPは世界中で利用されており多数の実績があることから活用におけるノウハウが数多く存在することがメリットとして挙げられます。ノウハウが多く存在することでPHPの利用
をより効率的に行うことが出来ます。
インターネット上に存在する無数のWebサイトの多くにPHPが使用されており、需要があ多く存在するというメリットがあります。様々な会社がより高度で使いやすいリッチなWebサイトを作成するためにPHPを駆使してWebページの作成を進めております。そのためPHPを習得したエンジニアを必要とする会社が無数に存在しております。PHPを習得し、レベルを上げれば上げるほど様々な会社からお声がかかり職に困ることも無いでしょう。
PHPには優秀で便利なフレームワークが数多く存在します。フレームワークを活用することでプログラミングを簡略化することができ、作業の効率を格段に向上させることが出来ます。PHPの代表的なフレームワークは『CakePHP』、『ZendFramework』、『Laravel』などが挙げられます。
PHPのデメリットを見ていきましょう。
PHPはメリットにも記載した通り、配列の定義などのコーディングスタイルの自由度が高いため時にそれが仇となる場合があります。プログラマーによってコーディングの際のルールやクセがありますよね。PHPでは同じ意味のコードを何通りもの方法で実現が出来るため、複数人などでWebサイトの開発などのプロジェクトを進める際に同一コードベースに複数のコーディングスタイルが混在してしまう場合があります。このような事態は望ましくないためコーディング実施前に共通ルールを設けるなどして問題を回避しましょう。
PHPではWebサイトを作成する上でとても優秀なプログラミング言語ですが、一方でWebサイト以外を作成することには向いておりません。そのためPHPを習得しても携われる案件はWeb系案件に限定されるというデメリットがあります。スマホアプリが作成したい、様々なデバイスをプログラムで制御したいなどの要望には答えられる言語ではないので注意が必要です。
PHPはインタプリタ言語です。インタプリタ言語はコードを実行する際に1行ずつコンピュータが読み取りやすいように機械語に翻訳していく言語です。一方Javaなどで採用されているコンパイラ言語では全てのコードを一括で機械語に翻訳する言語のため工数が少なく実行速度が早いです。このようにコンパイラ言語に比べて実行速度が遅いというデメリットがあります。
PHPの基本的な文法を見ていきましょう。
変数では一般的に宣言、代入、参照を覚えておく必要があります。
しかしPHPでは値を代入する前に事前に変数を宣言する必要がありません。値を格納した時点からその変数を利用することが出来ます。
PHPでは8つのデータ型と3つのデータ種類を覚えておく必要があります。
データ型 | データ種類 |
文字列型(string) | スカラー型 |
整数型(integer) | スカラー型 |
浮動小数点数型(float)(double) | スカラー型 |
論理型(boolean) | スカラー型 |
配列型(array) | 複合型 |
オブジェクト型(object) | 複合型 |
リソース型(resource) | 特殊型 |
NULL(null) | 特殊型 |
演算子では算術演算子、比較演算子、代入演算子、文字列演算子、複合演算子、論理演算子を覚えておく必要があります。
演算子の種類 | 概要 |
算術演算子 | 足し算や引き算を実行する |
比較演算子 | 大小や等しいかなどの比較を実行する |
代入演算子 | 「=」のことで左辺を右辺に代入を実行する |
文字列演算子 | 文字列の結合を実行する |
複合演算子 | 代入演算子「=」とバイナリ演算子、文字列演算子を組み合わせるもの |
論理演算子 | 論理演算を行う演算子のこと |
制御文ではwhile文、if文、for文、switchを覚えておく必要があります。
Webサイトを運営するにあたって必要不可欠なお問合せフォームの作成をすることが出来ます。HTMLで画面上に表示されるお問合せフォームのパーツ(目に見える部分)を構成し
、PHPでフォームが送信された際の処理や処理実行後に出力する結果などを表示する役割を持ちます。
会員情報を持つWebサイトにおいて会員登録・ログイン機能を作成することが出来ます。
ECサイトなどに必要なショッピングカート機能を作成することが出来ます。
PHPの代表的なフレームワークを見ていきましょう。
LaravelとはPHPに活用されるテイラー・オットウェル(Taylor Otwell)氏によって開発されたオープンソースのWebアプリケーションフレームワークです。2011年6月に誕生し、現在PHPのフレームワークにおいて最も注目度の高い人気のフレームワークとなっております。Laravelの特徴は開発初心者でもWebアプリケーションの構成を簡単に取り組めてしまうほどのハードル低さが挙げられます。
Laravelの公式サイトはこちら>>
Laravelの歴史、特徴、基礎知識の解説された記事はこちら>>
CakePHPとはPHPに活用されるcakeソフトウェア財団によって開発されたオープンソースWebアプリケーションフレームワークです。2005年3月に誕生しCakePHPの名の由来は、ケーキを焼くように手軽に開発するというもので公式ロゴにもケーキが採用されております。CakePHPの特徴は誰でも素早く快適に開発を行えることを目指して生み出されたプロトタイピング型のフレームワークとなっております。
CakePHPの公式サイトはこちら>>
CakePHPの歴史、特徴、基礎知識などの解説された記事はこちら>>
ZendFrameworkとはPHPに活用されるZend Technologies社によって開発されたオープンソースのオブジェクト指向Webアプリケーションフレームワークです。ZendFrameworkの特徴は拡張性に長けており、使い方が自由であるという点です。また仕組みもとてもシンプルに構成されており、他のフレームワークと比較しても習得しやすいとされております。
ZendFrameworkの公式サイトはこちら>>
ZendFrameworkの歴史、特徴、基礎知識の解説された記事はこちら>>
SymfonyとはPHPに活用されるSensio Labsによって開発されたオープンソースWebアプリケーションフレームワークです。2007年1月に誕生しWebアプリケーションの開発速度の向上とメンテナンス量の軽減を目的に作成されました。特徴としては目的の通り、開発効率が高く、セキュリティの設定も最小限に済むなどが世界的にも注目を集めております。
Symfonyの公式サイトはこちら>>
Symfonyの歴史、特徴、基礎知識の解説された記事はこちら>>