私はPHPで12年間書いていますが、プロジェクトがPHP4からPHP5に変換されるのを見ました。それでも、卒業後、ほとんどの人がPHPで書くレベルがいかに低いかを実感しました。PHP 4の大きな遺産、プロジェクトのアルゴリズムと構造の複雑さの低さ(コードベースが大きい場合でも)、中小企業にとっての第1の選択肢、これらすべてがその役割を果たしました。コミュニティは専門家ではなく、私はそれが好きではありませんでした。しかし、今起こっていることはさらに悪いことです。
過去10年間にPHP開発をフォローしていない人のための簡単な紹介。今日、この言語は、その機能と最新のコーディングスタイルの点でJavaに似ています。優れたインターフェース、クラス、特性、名前名、タイプヒント、エンタープライズレベルのフレームワーク、依存関係を追跡する優れたパッケージマネージャーがあります。インタプリタが完成し、パフォーマンスの良い長寿命のデーモンや非同期サーバーを徐々に作成できるようになりました。 2020年の産業用プログラミング言語の標準セット。何か良いことも悪いこともありますが、誰もが欠点を持っています。
言語とともに、それを書く人の性格も変わりました。 PHP 8は先月リリースされましたが、PHP 4スタイルで書いている人は今もそうですが、最も不快感の少ない建築の宇宙飛行士と呼べる人もいます。パターン、SOLID、KISS、DRY、YAGNI、インターフェイスと抽象クラスの違いなどについて、おそらく何度も聞いたことがあるでしょう。 5年前までは、これはC#/ Java文化の標準でしたが、現在、これらはPHPコミュニティの典型的なトピックです。
ビッグソフトウェアエンジニアリングの世界からのものが私たちの世界にもやってきたことは素晴らしいことです。悪い点は、99%の場合、ここでは必要ないということです。さらに悪いことに、上記の略語について議論している著者の多くは、彼らが何を扱っているのかを完全には理解していません。そして、おそらく最悪のことは、PHPの世界が学術的実践によって否定されているのではなく、深い理論家、すきからの学者によって否定されていることです。労働市場で利用可能なプロジェクトの複雑さは劇的に変化していませんが、この学問は歩き回る場所があります。
PHP — symfony/laravel + mysql/postgresql/mongo + redis + rabbitmq + elk. , , , . , PHP , , , SOLID. , , , , .
, . , . , , . . , , — , () .
, . . -. , , . , , , -, .
SOLID . , . , mock- . , , . — . — .
, Drupal - . , ! - CMS , , , . , .
PHP , , . , , . , , . , , , . . PHP- Java- .
PHP Java — , , , . PHP . enterprise . , . — , - . , , -, .
PHP , Java, Javascript, . , web-. , , , . .
- . - , . « — » , . «SOLID », « ». , . — , , - . , .