Help us understand the problem. What is going on with this article?

PHPはいい奴だよ。

More than 5 years have passed since last update.

よくディスられるPHPですが、使っていると結構素直でいい奴なんですと。
と、Webアプリケーションの開発を例になんとなくPHPをアピールしてみます。

PHPって何の略称かとか話題になりますが、PHPはPHPであることが今の定義です。

動作環境の手軽さ

LinuxとApapcheとMySQLとPHPでLAMPとか言われていますよね。
実は、ソースコードを集めて野良ビルドをする必要が無いので、標準パッケージだけで
環境が出来てしまいます。

野良ビルドをせずに、標準パッケージだけで環境が構築出来るというのは、実は重要で、
環境構築に個人差が出来たり、人による依存性を排除することも出来ます。

まあ、クラウドとかDockerとか、HerokuとかVagrantとか、クラウドや仮想化に対応するならば、
野良ビルドをするという考え方自体をそろそろ捨てましょうw

昨日あたりPHP7がリリースされましたが、仕事使うならPHP5.5か5.6が良いかも。

スクリプト言語のメリット

スクリプト言語は、動かしてみないと正常に動くか分からないという事もありますが、
コンパイルをして生成される中間コードや実行ファイルが不要なので、デプロイの手間が
省けるのもいいですよね。
一番のメリットは、書いたコードをすぐに動かせる。という点です。

あと、コードを直接見えているのは、問題があるかもしれませんが、
稼働中に急遽不具合とか問題があって処理を中止したい時に、サーバのソースを直接みて
該当箇所をコメントアウトしてしまうという荒技もOKです。

資料の豊富さ

これだけ入門書がいろいろ発行されていることから、情報の量は膨大にあります。
ただし、全ての情報が正しいとは限りませんが、Ruby on Railsとは違い使えない情報が
残っていることは少ないです。
日付の新しい物や、Qiitaの情報であれば、7割方間違いは無いでしょう。
(個人的な感想です)

フレームワークの活発さ

Ruby on Railsに代表される様な、他のオープンソースのコミュニティに比べて、活動が地味な
印象があるPHPの界隈ですが、意外と活発に行動していますよ。

フレームワークで言えば、

CakePHPとlaravelがトレンドですかね。
フレームワークでこの2つをおさえて置けば、仕事にありつけるチャンスもあるかも。

フレームワークと言えるか未だに謎なんですが、
ブログのシステムとして有名なWordpress。これってカスタマイズ次第で何でも出来てしまうので、
ある意味重厚で大艦巨砲主義な感じのフレームワークですかねw

ビジネスライクの割り切りさ

開発の案件で、他人が作ったもの、自分が作ったものが次の他人が改修、改造することになることがありますが、そう言った点でもPHPであれば、よほど変人が作ったコードで無い限り、
引き継ぎが困難になることはありません。

どんなに頑張っても、カオスコードやクソコードになることはあるけど、根本的な処理実装は
非常にシンプルなので、頑張れば解析可能です。(個人的な感想ですw)

作ったモノ(システム)とビジネスライク的にお別れしやすさもPHPの特徴かもしれません。

意外にスケールするのが簡単

PHP自体がシンプルなので、サーバに職人芸的な細工をしなくても、物量作戦(サーバの
リソースを投入する)で簡単にスケールしてしまいます。
いろいろな小細工をするのも良いですが、クラウドで超速いDBサーバーなんか投入しただけで、
スケールしなくても解決出来てしまうかもw

まあ、PHPの処理ロジックを部品として考えれば、どこにリソースを投入すべきかとか、PHPの
改修がどれだけ必要かとかわかりやすいですよ。

完全に個人の主観と感想で書いていますので、ツッコミはコメント欄にお手柔らかにお願いしますw
PHPってディスられるけど、意外にいい奴なんですよ。自分はもう5年以上PHPでコードを書いていますが、まだまだ好きですね。

mesaka
元フリーランス的なLAMPの受託開発をメインに仕事をしていた個人事業主(法人化済み)のエンジニア。PHPが好き。Javaも出来る。AWSとかラズパイとか、新しモノ好き。でも、最近自分の会社を辞めて、正社員として就職しました。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away