【まとめ】開発会社だから語れるPHPのメリットとデメリット
PHPは、動的なコンテンツ、WebアプリやWebサービス作成に適したサーバサイドでプログラムを実行するスクリプト言語です。
スクリプト言語には、他にJavaScript、Perl、Python、Ruby等があります。
その中でもPHPは登場から20年以上たった今でも、根強い人気が続いています。
2011年の設立から今まででNTQは150件を超えるPHPでの開発のご支援を行ってきました。
その経験に基づいて、この記事では、PHPで開発するメリットとデメリットをお伝えします。
■PHPとは
PHPは、PHP:Hypertext Preprocessorの略で、Webブラウザ上で操作するWebアプリ開発に特化した言語です。
PHPが最も得意な領域は、ユーザの入力内容やデータベースに格納されている情報をもとにして動くWebシステムの開発です。
HTMLを書きながら要所にプログラムを組み込めるPHPは、条件に合わせてページ内容の書き換えができます。
要するに、PHPを使って開発を行うことで、ブラウザに表示するコンテンツをプログラム側で動的に組み立てることができます。
こうした特徴から数多くのブログ、ECサイト、WebサービスでPHPが使われており、ぐるなび、ココナラ、FacebookなどもPHPで開発されています。
また、PHPは開発支援ツールも充実しており、その利便性から登場後20年以上たった今でも開発者から根強い人気があります。
実際、Programming Language Index 2019によると、PHPは世界で最も人気のあるプログラミング言語で5位にランクインしました。
■PHPで開発できるもの
先述の通り、PHPはWebアプリ開発に特化したプログラミング言語です。
当初、PHPはユーザの入力内容やその他の外部要因によって変化する動的なWebページの作成のみに使用されていました。
現在では、WebアプリのサーバーサイドをPHPで構築することが多く、企業のWebサイトから個人ブログまで様々な用途で活用されています。
最も得意な領域はWebアプリですが、PHPはデスクトップアプリの開発も可能です。
バージョン5以降、PHPはオブジェクト指向言語に生まれ変わり、全く新しい機能が提供されたことで用途は更に広がっています。
■PHPのメリット
1. 読み込み速度の速さ
PHPで開発されたWebサイトの読み込み速度は、一般的に他の言語で開発されたWebサイトよりも速いです。
例えば、PHPでつくられたWebサイトはPythonでつくられたWebサイトよりも一般的に約3倍速く読み込むことができるとされています。
Googleは2012年にページ表示速度がランキング要因の一つであることを公表しており、読み込み速度はWebサイトのSEO改善のための重要な要素といえます。
また、読み込み速度の遅さはWebサイトの訪問者の不満に繋がることも多く、読み込み速度はCXの観点でも重要な要素といえます。
2. 接続可能なデータベースの多さ
PHPは、ほぼすべてのデータベースに接続できます。
PHPと互換性のあるデータベース管理システムは、mSQL、MS-SQL、SQLite、PostgreSQL等です。
さらに、PHPはElasticSearch、Redis、MongoDBをはじめ、その他の様々な非リレーショナルデータベースでも同様に使用できます。
このようにPHPで開発する場合、使用できるデータベースの制限はなく、他の要素にあわせて開発したいアプリに最適なデータベースが選択できます。
3. オープンソースソフトウェアの豊富さ
PHPはそのオープンソースソフトウェアの豊富さから、開発予算の大幅な削減に貢献します。
通常PHPと組み合わせて使用される開発ツールの大部分はオープンソースソフトウェアであり、無料で使用できます。
さらに、LaravelやCodeIgniterなどの多数のフレームワークや、WordpressやDrupalなどの様々なCMSは、PHPの機能を拡張して、開発を容易にします。
4. HTMLとの組み合わせやすさ
通常HTMLファイルはPHPを実行することができません。
しかし、.htaccessを使用することでHTMLファイル内でPHPを実行することが可能です。
HTML内でPHPを有効化することによるメリットはいくつかありますが、大きく以下3点です。
・共通部分を別ファイル化して読み込むことができ(include)
・システムやWordpressとの連携が容易となる
・コメント文をHTMLソース内に記述しないで済む
特にPHPのinclude関数を使って共通部分を外部ファイル化しているか否かで作業効率が大きく変わります。
PHPを埋め込むことでSQLインジェクションへの対策等、セキュリティ対策を講じる必要はありますが、PHPを使用して更新性を高める方がメリットが多いと考えます。
■PHPのデメリット
1. デバッグ等の対策が必要であること
PHPはコーディングの自由度が高く、同じ処理を何通りもの書き方で記述できます。
自由度が高いことはメリットでもありますが、人によって記述にばらつきが生じやすく、保守性を低下させてしまう原因になってしまうこともあります。
そのため、しっかりとデバッグを行わなければエラーを生むリスクがあります。
対策として、PHP-FIGという団体が公開しているPSRと呼ばれる規約群等のコーディング規約を参考に、ルールを設定するとよいでしょう。
2.セキュリティ上の欠陥
PHPは、他の言語と比べてもセキュリティの弱さを指摘されることが多い傾向にあります。
随時バージョンアップを繰り返すことで対策はなされていますが、セキュリティに関する懸念は依然としていくつか残っています。
PHPで脆弱性が見つかる場所を大別すると、アプリケーション、PHPそのもの、Webサーバーとデータベース、ネットワーク環境の4つです。
PHPそのもの、Webサーバーとデータベースについては、脆弱性が発見された時にすぐに修正版へアップデートすれば、それほど大きな問題にはなりません。
ネットワーク環境については、SSL(HTTPS通信)の導入が効果的なので、忘れないように導入しましょう。
■まとめ
以上、PHP言語での開発に関する4つのメリットと3つのデメリットをまとめました。
2011年のベトナム本社設立から2021年現在までに、NTQは600件を超える開発案件をご支援してきました。
その約25%はPHPでの開発案件です。
その中で日本のお客様のご支援をしてきた分野は以下の通りです。
・ECサイト
・不動産賃貸用のアプリ
・予約システム
・マッチングアプリ
・社内管理システム全般
・医療系システム
・CRM管理アプリ
・コンテンツ管理システム
・採用システム
・SNSアプリ
Webアプリ開発やWebサービスの立ち上げをご検討であれば、ご相談、お見積りは無料ですので、お気軽にお問い合わせください。
お問い合わせページ