PHPとは何?
PHPはWebページを動的に生成するためのサーバーサイドのプログラミング言語です。
HTMLの中に埋め込むだけで使えるため構造がシンプルです。
学習コストが低く、初心者でも扱いやすいこともあり、世界中で商用・個人用で幅広く使われています。
「PHP」って何の略?
PHPは「PHP: Hypertext Preprocessor」の頭文字を取った略です。
【読み】ピー・エイチ・ピー:ハイパーテキストプリプロセッサ
なんじゃそりゃ?
そうじゃなくてPHPの意味を聞いてるんですけど!って感じですよね。
無限ループのように再帰的に略しています。
肝心の「PHP」の部分は開発中に「Personal Home Page」と名付けられていた頭文字を取ったものです。
Personalだとあまりにスケールが小さいので正式な名前にはしなかったとのことです。
「PHP: Hypertext Preprocessor」を直訳すると「PHP: 超テキストの前処理装置」というところでしょうか。
超テキストというのはHTMLのことです。
PHPの歴史
インターネット大流行の波に乗り拡大
1990年代後半に登場。インターネットの大流行直前に登場しその波に乗り爆発的に普及しました。
2000年にはPHPバージョン4、2004年にはPHP5がリリース。
Facebook, Yahoo, Google, Amazonをはじめ名だたる企業が採用しはじめ、一気に普及率は80%を超えたと発表されました。
PHP6は途中で開発中止になりましたが、2015年には最新版のPHP7がリリースされます。
シェア世界一のCMS「WordPress」にも採用
2021年現在。
世界のサイトの40%が利用しているというWordPressというCMS(コンテンツ管理システム)がPHPによってつくられているなど、今でも高い支持を得ています。
そしてサーバーサイドのプログラミング言語としての普及率は今だに80%近いシェアがあります。
PHPは歴史のある言語
このように20年以上世界中の最前線で利用されている数少ないプログラミング言語です。
また、歴史があるためその分洗練されており、ここ15年間でいうとメジャーバージョンが2回(PHP5,PHP7)しかありません。
(マイナーバージョンアップは毎年行われています)
バージョンアップが少ないというのは安定している証拠でもあり、プログラミング言語を習得するのにも重要です。
バージョンアップが激しい言語だと数年で習得したことが無駄になったり、Web検索してもノウハウが探せなかったり、全サーバーアップデートする必要が出てきたりなど振り回されることになってしまいます。
プログラミング言語はシステムの核となる部分ですので、長く稼働するシステムでは安易に流行や目新しさで選ばない方がよいことも多いでしょう。
その場合、新しい記述は入れ替えが用意な部分にとどめ、ベースの言語はPHPにしておくという選択はよい選択かもしれません。
PHPの特徴・メリットとデメリット
良いところ(メリット)
シンプルで初心者でも理解しやすい
PHPはHTMLの中に埋め込み、ファイルをそのままサーバーに配置するだけで動きます。
テキストを書けば即動くスクリプト言語と呼ばれるものです。
見た目もこれ以上略しようがないほど軽快でシンプルです。
もちろんコマンドラインからのバッチ処理も記述できます。
利用人数が多いので情報が多い
PHPは歴史があり採用シェア率が高い言語であることから開発者自体の数が圧倒的に多いです。
そのため情報量も多く、Web上でノウハウやドキュメントやコミュニティなど非常に充実しています。
書籍も充実していますが、簡単な学習だけならWeb上でもなんとかなります。
特に新しく習得するような技術の場合はこの情報量が多いというのが非常に重要になります。
そのため初心者が習得するのによい環境がそろっているので、おすすめできる言語です。
とにかく世の中で使われている
歴史の項の中で紹介しましたが、PHPは2021年現在においてもサーバーサイドのプログラミング言語としての普及率は80%ほどを維持しています。
(多くの企業はPHPだけでなく複数言語を採用していることが多いです)
単にPHPが昔から使われているからということもありますが、WordPressの存在もかなり大きいです。
個人も企業も、更新が可能でSEOに強いWebサイトを作ろうとおもうとWordPress一択になるくらい強いCMSだからです。世界中のサイトの4割がWordPressで出来ているって恐ろしい数字ですよね。
つまり、
①サイトをカスタマイズしたい
→ ②WordPressをカスタマイズする必要がある
→③PHPを使う必要がある
という関係になっているのです。
もし今後PHPが廃れるとすればWordPressのシェアが著しく低下したときなのかもしれません。
もしそうなればおそらくPHPをおすすめできなくなると思います。
レンタルサーバー・クラウドなどの環境が一番充実
せっかく習得しても実装できる環境がなければ意味がありませんよね。
世の中でWebサイトやアプリケーションを公開しようと思った場合、様々な手段があります。
世の中のレンタルサーバーやクラウドサーバーにはほぼ必ずPHP対応がなされています。他の言語はなくてもPHPはまずあります。
普及率80%の言語を非対応にする理由がまずありません。
また、WordPressがデフォルトでインストールされているようなサービスも本当にたくさんあります。
そういった歴史による互換性もあいまってPHPのクラウドをとりまく環境はかなり優遇されていると言えます。
求人・仕事が多い、転職に有利?
学ぶにあたってその言語が仕事上でどれだけ需要があるかって大事ですよね。
習得すればするほどキャリアにつながるので自分の将来性やモチベーションにもつながります。
先ほど世の中のサイトの多くがPHPで構成されているという話をしました。
それが2021年現在、実際の業務上でどう需要に反映しているか、指標として求人サイトなどを検索して求人や仕事の件数をみてみました。
言語 | DODA求人 | クラウドワークス | リクルートエージェント | レバテックキャリア |
PHP | 【2位】2846件 | 【1位】1388件 | 10351件 | 【2位】2480件 |
Java | 【1位】6205件 | 164件 | 【1位】17900件 | 【1位】3523件 |
JavaScript | 2188件 | 【2位】495件 | 9533件 | 【3位】2221件 |
Ruby | 1199件 | 210件 | 7491件 | 1511件 |
C# | 2173件 | 87件 | 【2位】12416件 | 1002件 |
python | 【3位】2284件 | 374件 | 【3位】11977件 | 1795件 |
swift | 646件 | 【3位】404件 | 5444件 | 830件 |
Perl | 349件 | 39件 | 5965件 | 379件 |
どうでしょうか?PHPは十分上位にいますね。総合ではJavaに次いで2位といったところでしょうか?
転職という面ではJava業務系の複雑な金融などの大規模システムではJavaなどがよく使われ、PHP/Ruby/Pythonなどの手軽な言語は敬遠されがちです
逆にそれらを、副業や趣味で使おうと思った場合はあまり使う機会はないでしょう。
クラウドワークスのような形態でJavaの仕事がまったくないのも注目です。
Javaはリモートワークなどでの仕事はあまり発生しないようです。
PHPを身に着けておくと業務や副業や趣味でバランスよく力を発揮できそうです。
安定しているフレームワークが多い
それぞれのプログラミング言語にはフレームワークが複数存在しています。
フレームワークとはその名の通り、その言語を使ったアプリケーション「枠組み」の役割です。アプリケーションを構築するのに一定のルールや便利なライブラリがセットになったものです。
PHPにおけるフレームワークの代表的なものは「Laravel」「Symfony」「CakePHP」「ZendFramework」などがあげられます。
それぞれかなり歴史のあるフレームワークで頼もしい限りです。
最近では勢いのある新鋭と呼ばれるLaravelでも初期リリースは10年前で現在でも年数回のアップデートが行われています。
悪いところ(デメリット)
手軽で開発スピードが速い分、セキュリティなどは自己責任な面も?
PHPは誰もが手軽に扱える言語です。
ゆえに自由度も高く、手軽にわりとなんでもできてしまう。きちんと理解して使わないと思わぬバグが発生し、セキュリティホールにもつながるかもしれません。
ですが、これはPHPだけでなくどの言語でも技術でも当然起きることです。「開発の手軽さとスピード」と「セキュリティ」は絶対に反比例する関係なので仕方がありません。
ですが、これが大企業がお金を管理するためだとしたら「セキュリティ」を選ばざるを得ません。
求人の項でも説明しましたが、こういったことが金融などの大企業のシステムなどではJavaが採用され、PHP/Ruby/Pythonなどが採用されにくい理由だったりします。
サーバーサイドの処理。アプリなどは開発できません
PHPはWebサイトやサーバーのバッチ処理などは得意ですが、スマホアプリなどのクライアントは作れません。
C#やJavaなどは一定条件の元、アプリ(android)やサーバーサイドも両方開発することができますが、習得には相当な時間がかかりますし、言語以外のもっと大変な技術を複数覚える必要が出てきます。
どのみち1つ覚えればwebもアプリも作れると言った都合のいい技術はありませんので、Webだけでも手軽にわりきってPHPを習得するというのは、個人的には効率のいい選択であるとは思います。
最先端のエンジニアによる人気や勢い自体が高いわけではない
「最先端の人気や勢いがあるわけではない」この点が悪いデメリットに当たるかどうかは悩んだところではあります。
ITエンジニアには新しいもの好きの研究者&職人タイプが多いものです。
一方、PHPはシェア率こそ圧倒的に高いものの年季の入った洗練された言語です。
なのでその最先端のアーリーアダプター的な人たちから現時点でPHPが絶大な支持があるかといえば決してそうではありません。
でも、それがイコールデメリットとも限りません。
よくITの業務上で新しく技術を採用するときは、ある程度枯れた技術を採用せよ!ということがよく言われます。
それは最新の技術が必ずしも一番ベストだとは限らないからです。むしろ少し枯れた技術の方が色々な面で耐久性が高いことが多いです。
リリースされて数年の技術はバグやセキュリティなどが不安定で情報量も少ない。リリース初期は新機能や仕様変更の投入も多く、バージョンアップも頻繁に行われます。最悪開発中止なんてことに巻き込まれたらサービス自体の作り直しなんという事態になりかねません。
新しい技術の採用には常にそういった付き合い方のリスクが付きまといます。
そう意味でシステムのコアな部分に関しては、耐久性のある、ある程度枯れた技術を採用したほうがよい場合も多いことは覚えておいて下さい。
PHPは動作が遅くパフォーマンスが悪いって本当?
昔はPHPを知っている人は、PHPはパフォーマンスが悪い、処理が重たいという印象を持っているかもしれません。
たしかに登場した初期はその傾向にありました。
ですが、バージョンアップを重ね、特にPHP7ではPHP5の2倍近いパフォーマンスを実現しました。PHP4からくらべると3倍~4倍の開きがあります。
私もパフォーマンスにはうるさい方だとは思いますが、最近ではPHP自体がネックになって遅いと思うことはほぼないように思います。
むしろキャッシュやDBの使い方などの複合的な工夫を怠っている場合が多く、PHPの動作が重くて・・・みたいなことはここ10年以上は感じていません。
PHPを採用している企業
PHPは昔から名だたる企業が採用しています。ほんの一例ですが公開されているものを紹介します。
- Amazon
- Wikipedia
- Yahoo
- Slack
- WordPress
- 楽天
- ぐるなび
- ココナラ
PHPに関する資格ってあるの?
「PHP技術者認定機構」という団体が開催している試験があります。
PHPを学ぶための目標やモチベーションになると思いますのでぜひ。
- PHP7技術者認定初級試験
- PHP5技術者認定初級試験
- PHP5技術者認定上級・準上級試験
なぜPHPをおすすめするか?
いかがでしたでしょうか?なぜPHPをおすすめするのかという質問に対しては
「とにかく誰でも手軽に利用できて、世の中に必要とされているから」
これにつきます。
興味を持ったみなさんが何かをリリースするためのきっかけになったらうれしいです。
ぜひ一度PHPを学んでみてください!
コメント