ホームページ  >  記事  >  PHP プログラマーの将来についての簡単なディスカッション

PHP プログラマーの将来についての簡単なディスカッション

小云云
小云云オリジナル
2017-11-08 10:31:511790ブラウズ

多くのプログラミング言語の中で、PHP はプログラマーの間で最も人気のある言語の 1 つです。

PHPは誕生から20年以上の歴史があり、Web時代の隆盛からモバイルインターネットの衰退まで、Node.js、GO、などのさまざまなプログラミング言語やテクノロジーが登場してきました。と Python は常に PHP の地位に挑戦しています。これらのテクノロジーの推進者は、PHP を悪口することに非常に熱心です。PHP 言語の将来はどうなるでしょうか。 PHP プログラマーは将来の変化にどのように対応すべきでしょうか?

PHP は、ベテランの Web バックエンド プログラミング言語として、Java に次ぐ非常に高い世界市場シェアを持っています。さまざまな求人サイトのデータから、PHP 開発の求人が多数あることがわかります。給与水準も非常に良いです。実際、中小企業やインターネットスタートアップ企業における PHP の市場地位は Java よりも高いです。 Java は、非常に大規模な企業、従来のソフトウェア産業、金融分野において大きな利点を持っています。現時点では、Node.js、GO、Python、Ruby などの言語は、PHP や Java に匹敵するのはまだ困難です。

PHP 言語が今日の地位を獲得した理由は、PHP 言語の設計者が常に実用主義に従い、技術的な複雑さを根底に隠してきたという事実によるものです。 PHP 言語は使い始めるのが簡単で、習得も簡単です。プログラムは堅牢で、Java、C++、その他の言語のような複雑な問題 (メモリ リークやクラッシュなど) が発生しにくく、追跡とデバッグが比較的簡単です。 PHP が公式に提供する標準ライブラリは非常に強力で、MySQL、Memcache、Redis、GD グラフィック ライブラリ、CURL、XML、JSON などのさまざまな関数が公式標準ライブラリに含まれており、開発者はライブラリを探す手間が省けます。どこでもトラブル。 PHP のドキュメントは優れており、各関数の詳細な説明と使用例が記載されています。サードパーティのライブラリ、ツール、コード、プロジェクトも豊富です。開発者は PHP を使用して、さまざまなソフトウェアを迅速かつ効率的に作成および開発できます。今のところ、市場には PHP よりシンプルで使いやすいプログラミング言語はまだありません。したがって、PHP の可能性は依然として非常に広いため、プログラミング言語の選択に悩むよりも、PHP を深く学び、使用することをお勧めします。

上級 PHP 開発者として、PHP プログラムの将来について 10 の技術的な提案をさせていただきます。皆様のお役に立てれば幸いです。

1. Composer

最初のポイントは、Composer の登場により、PHP の依存関係管理が非常に簡単になったことです。このプログラムはいくつかのクラス ライブラリとフレームワークに依存しています。これらは Composer を使用して直接導入でき、依存パッケージは Composer Update を使用してインストールできます。過去に外部ライブラリをロードする際のさまざまな問題が解決されました。 Composer には非常に高速な国内ミラーもあります。現在、ほとんどの PHP オープン ソース プロジェクトは Composer をサポートしています。プロジェクト内の PHP コード パッケージ管理の問題を解決するには、ソース コードをダウンロードして手動でインクルードするという元の方法を使用しないでください。

2. PHP7

PHP7 バージョンでは、Zend エンジンに多くの変更が加えられ、PHP 言語のパフォーマンスが大幅に向上し、プログラムのパフォーマンスが即座に 2 倍になります。 WordPress のような重量のあるソフトウェアでも、PHP7 上で数千の QPS を実行できます。これは、1 日あたり 8,000 万のリクエストを処理できるサーバーに相当します。 PHP7 を使用し、MySQL を最適化し、高速化のために Memcache と Redis を使用するこの技術アーキテクチャは、かなり大規模なシステムを完全に処理できます。数億人のユーザーがいる一部のプラットフォームを除いて、平均的なサイズのシステムではまったくストレスがありません。

3. PSR

PSR は、http://www.phpfig.org/ 組織によって策定された PHP 言語開発仕様であり、名前空間、クラス名

の仕様、コーディングスタイル標準、自動ロードなどの多くのルールに同意しています。 、パブリックインターフェースなどこれは現在、PHP テクノロジー コミュニティの事実上の標準となっています。多くのよく知られた PHP フレームワークとライブラリは PSR 仕様に準拠しています。 PHP 開発者は、PSR 仕様を習得し、プログラムを開発する際には PSR 仕様に従うように努める必要があります。

4. Swoole

2017 年でも、PHP は Web サイトに限定されていますか?いいえ、Swoole をまだ知らない場合は、行って調べてください。 Swoole のスローガンは、PHP 言語を再定義することです。Swoole は、PHP の拡張機能として実行される非同期並列通信エンジンです。 Node.js には非同期コールバック Swoole があり、Go 言語にもコルーチン Swoole がありますが、これは PHP の理解を完全に覆します。 Swoole PHP を使用すると、メモリ常駐型のサーバー プログラムを実装し、TCP および UDP の非同期ネットワーク通信のプログラミング開発を実現できます。従来はPHPでWebサイトを構築することしかできませんでしたが、現在はWebSocket通信、チャット、プッシュサーバー、RPCリモート通話サービス、ゲートウェイ、プロキシなど、JavaやC++でしか実装できない通信サービスをSwooleで構築できるようになりました。 、ゲームサーバーなど。 PHP を使用して Web システム以外のことを実行したい場合は、Swoole が最適です。

5. Laravel

近年最も注目されている PHP フレームワーク。公式 Web サイトでは、このフレームワークがいかにエレガントであるかを示しています。 Laravel は、豊富な機能モジュール、シンプルな API 設計、および強力な表現力を提供します。さらに、そのコミュニティは非常に活発で、多くのコード寄稿者が存在し、多くのサードパーティのプラグインがあり、エコシステムは非常に繁栄しています。 Laravel は最下層で多くの symfony2 コンポーネントを使用し、composer を通じて依存関係管理を実装します。どの PHP フレームワークを使用するか迷っている場合は、Laravel を選択することをお勧めします。 Laravel が提供するコマンドラインツールは symfony.console をベースにしており、さまざまなプロジェクト管理機能と自動コード生成機能が統合されています。

6、ファー

PHP5.3 以降では、phar という名前の Java に似た jar パッケージがサポートされています。複数の PHP ファイルを 1 つのファイルにパッケージ化するために使用されます。この機能により、PHP は Java と同じくらい簡単にアプリケーションをパッケージ化し、コンポーネント化することができます。アプリケーションは Phar パッケージにパッケージ化して、

PHPFPM で直接実行できます。 Swoole を使用すると、コマンドラインで php server.phar を実行し、ワンクリックでサーバーを起動できます。 PHP コード パッケージは、Phar を使用してコンポーネントにパッケージ化し、ロードして実行するために Swoole のサーバー コンテナーに配置できます。

7. C/C++/GO

動的スクリプト言語として、PHP には開発が容易で効率が高いという利点があります。デメリットは性能の悪さです。集中的なコンピューティングのシナリオでは、C や C++ よりも数十倍、さらには数百倍も悪くなります。さらに、PHP は基礎となるレイヤーを直接操作できないため、API 実装を提供するために拡張ライブラリに依存する必要があります。 PHP プログラマーは、動的および静的補完を実現するための補足として静的コンパイル言語を学習できます。これらはすべて良い選択です。さらに、静的言語でのプログラミング体験は動的言語でのプログラミング体験とはまったく異なり、学習プロセスにより大幅な改善を達成できます。

C/C++ 言語をマスターした後は、PHP、Swoole、Nginx、Redis、Linux カーネルなどのオープンソース ソフトウェアのソース コードを読んで、その基本的な動作原理を理解することもできます。

Swoole の最新バージョンでは、C++ 拡張モジュールのサポートが提供され、Zend API がカプセル化され、PHP 拡張関数とクラスを C++ で実装することが非常に簡単になりました。

8. HTML5

Web フロントエンドの新世代標準として、HTML5 には非常に明るい将来性があり、大きな市場需要があります。 PC Web サイト、B/S エンタープライズ ソフトウェア、モバイル Web ページ、APP に至るまで、これらの分野はすべて HTML5 を採用しており、HTML5 をマスターすることによってのみ、インターネット テクノロジーの次の波を乗り切ることができます。

9. Vue.js

PHP プログラマーは、バックグラウンド プログラムの作成に加えて、ブラウザのフロントエンドを扱うプレゼンテーション層での作業の大部分も担っています。 2017 年になってもインターフェイス レンダリングを実装するために DOM を操作するために jQuery を使用していますか?完全にアウトですね。 Vue.js を使用してデータと DOM 要素をバインドするのが非常に便利になりました。バックエンド インターフェイスに Ajax 経由でデータを返すように要求した後、フロントエンド データが更新され、インターフェイスのレンダリングが自動的に実装されます。 2017 年に Vue を学ばないと手遅れになります。

Web プログラムを作成するだけでなく、Android、IOS、PC クライアント、その他のプラットフォームも考慮したい場合は、React Native が良い選択です。

10. ディープラーニング/人工知能

機械学習、ディープラーニング、人工知能の概念を理解していない場合は、すぐにそれらについて学ぶ必要があります。可能。現在、グーグル、フェイスブック、マイクロソフト、アマゾン、国内の百度などインターネット大手が人工知能を導入している。人工知能はまだ科学研究の段階ですが、将来的には自動運転、ビッグデータ解析、オンラインゲーム、画像認識、言語処理など、インターネットのさまざまな分野に応用されるでしょう。もちろん、一般のエンジニアは今すぐ人工知能製品に参加することはできないかもしれませんが、少なくともディープラーニング/人工知能の基本的な概念と原理を理解する必要があります。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。