今日は、2017年のPHPの開発動向とPHPプログラマーのキャリア形成の方向性についてお話し、時代に合わせたPHPプログラマーになるための10の提案をさせていただきます!
授業開始のお知らせ: php中国語サイト「第10回PHPオンライントレーニングコース」の受付を開始しました!
PHP は誕生してから 20 年以上の歴史があり、Web 時代の勃興からモバイル インターネットの衰退まで、インターネット分野ではさまざまなプログラミング言語やテクノロジが登場してきました。 、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 の技術的な提案をさせていただきます。皆様のお役に立てれば幸いです。
最初のポイントは、Composer の登場により、PHP の依存関係管理が非常に簡単になったことです。このプログラムは、<span style="font-size: 16px;">composer を使用して Composer を使用して直接導入できるいくつかのクラス ライブラリとフレームワークに依存しています。
update</span>
依存パッケージをインストールします。過去に外部ライブラリをロードする際のさまざまな問題が解決されました。 Composer には非常に高速な国内ミラーもあります。現在、ほとんどの PHP オープン ソース プロジェクトは Composer をサポートしています。プロジェクト内の PHP コード パッケージ管理の問題を解決するには、ソース コードをダウンロードして手動でインクルードするという元の方法を使用しないでください。
PHP7 バージョンでは Zend エンジンに多くの変更が加えられ、PHP 言語のパフォーマンスが大幅に向上しました。PHP7 を使用すると、プログラムのパフォーマンスが即座に 2 倍になります。 WordPress のような重量のあるソフトウェアでも、PHP7 上で数千の QPS を実行できます。これは、1 日あたり 8,000 万のリクエストを処理できるサーバーに相当します。 PHP7 を使用し、MySQL を最適化し、高速化のために Memcache と Redis を使用するこの技術アーキテクチャは、かなり大規模なシステムを完全に処理できます。数億人のユーザーがいる一部のプラットフォームを除いて、平均的なサイズのシステムではまったくストレスがありません。 (関連する推奨事項: php 独習ガイド、入門から習熟までの PHP 独習パス)
PSR は、php-fig によって策定された PHP 言語開発仕様です。 .org 組織。名前空間、クラス名の仕様、コーディング スタイル標準、自動ロード、パブリック インターフェイスなど、多くの側面でルールが合意されています。これは現在、PHP テクノロジー コミュニティの事実上の標準となっています。多くのよく知られた PHP フレームワークとライブラリは PSR 仕様に準拠しています。 PHP 開発者は、PSR 仕様を習得し、プログラムを開発する際には PSR 仕様に従うように努める必要があります。
2017 年でも、PHP は Web サイトに限定されていますか?いいえ、Swoole をまだ知らない場合は、行って調べてください。 Swoole のスローガンは、PHP 言語を再定義することです。Swoole は、PHP の拡張機能として実行される非同期並列通信エンジンです。 Node.js には非同期コールバック Swoole があり、Go 言語のコルーチン Swoole にもそれがありますが、これは PHP の理解を完全に覆します。 Swoole PHP を使用すると、メモリ常駐型のサーバー プログラムを実装し、TCP および UDP の非同期ネットワーク通信のプログラミング開発を実現できます。以前はPHPでWebサイトを構築することしかできませんでしたが、現在はSwooleが使われています。 WebSocketインスタント通信、チャット、プッシュサーバー、RPCリモート通話サービス、ゲートウェイ、プロキシ、ゲームサーバーなど、JavaやC++でしか実装できない通信サービスを提供できます。 PHP を使用して Web システム以外のことを実行したい場合は、Swoole が最適です。
近年最も人気のある PHP フレームワークで、公式 Web サイトでは Web アーティスト向けに設計されたフレームワークであると主張しており、このフレームワークがいかにエレガントであるかを示しています。 Laravel は、豊富な機能モジュール、シンプルな API 設計、および強力な表現力を提供します。さらに、そのコミュニティは非常に活発で、多くのコード寄稿者が存在し、多くのサードパーティのプラグインがあり、エコシステムは非常に繁栄しています。 Laravel は最下層で多くの symfony2 コンポーネントを使用し、composer を通じて依存関係管理を実装します。どの PHP フレームワークを使用するか迷っている場合は、Laravel を選択することをお勧めします。 Laravel が提供するコマンドラインツールは symfony.console をベースにしており、さまざまなプロジェクト管理機能と自動コード生成機能が統合されています。 (関連する推奨事項: Laravel5.2 ブログ実践ビデオチュートリアル)
PHP5.3 では、phar という名前の Java に似た jar パッケージがサポートされます。複数の PHP ファイルを 1 つのファイルにパッケージ化するために使用されます。この機能により、PHP は Java と同じくらい簡単にアプリケーションをパッケージ化し、コンポーネント化することができます。アプリケーションは Phar パッケージにパッケージ化して、
PHP-FPM で直接実行できます。 Swoole を使用すると、コマンドラインから実行できます <code style="font-family:" source code pro new font-size:0.93em color:rgb background-color:rgb padding:2px><span style="font-size: 16px;">php server.phar</span>
phpserver.phar ワンクリックでサーバーを起動します。 PHPコードパッケージが利用可能です
Phar はコンポーネントにパッケージ化され、ロードして実行するために Swoole のサーバー コンテナに配置されます。
動的スクリプト言語として、PHP には開発が容易で効率が高いという利点があります。デメリットは性能の悪さです。集中的なコンピューティングのシナリオでは、C や C++ よりも数十倍、さらには数百倍も悪くなります。さらに、PHP は基礎となるレイヤーを直接操作できないため、API 実装を提供するために拡張ライブラリに依存する必要があります。 PHP プログラマーは、動的および静的補完を実現するための補足として静的コンパイル言語を学習できます。これらはすべて良い選択です。さらに、静的言語でのプログラミング体験は動的言語でのプログラミング体験とはまったく異なり、学習プロセスにより大幅な改善を達成できます。 (関連する推奨事項: C++ ビデオチュートリアル)
C/C++ 言語をマスターした後は、PHP、Swoole、Nginx、Redis、Linux カーネルなどのオープンソース ソフトウェアのソース コードを読むこともできますその根底にある動作原理を理解するために。
最新バージョンの Swoole では、C++ 拡張モジュールのサポートが提供され、Zend API がカプセル化され、C++ で PHP を操作することが非常に簡単になり、C++ で実装できるようになりました。
Web フロントエンドの新世代標準として、HTML5 には非常に明るい将来性があり、大きな市場需要があります。 PC Web サイト、B/S エンタープライズ ソフトウェア、モバイル Web ページ、APP に至るまで、これらの分野はすべて HTML5 を採用しており、HTML5 をマスターすることによってのみ、インターネット テクノロジーの次の波を乗り切ることができます。 (関連する推奨事項: Html5 ビデオ チュートリアル)
PHP プログラマーは、バックグラウンド プログラムの作成に加えて、プレゼンテーション層での作業の大部分も担当します。ブラウザのフロントエンドを処理します。 2017 年になってもインターフェイス レンダリングを実装するために DOM を操作するために jQuery を使用していますか?完全にアウトですね。 Vue.js を使用してデータと DOM 要素をバインドするのが非常に便利になりました。バックエンド インターフェイスに Ajax 経由でデータを返すように要求した後、フロントエンド データが更新され、インターフェイスのレンダリングが自動的に実装されます。 2017 年に Vue を学ばないと手遅れになります。
Web プログラムを作成するだけでなく、Android、IOS、PC クライアント、その他のプラットフォームも考慮したい場合は、React Native が良い選択です。
インターネットの未来は人工知能に属します。機械学習、ディープラーニング、人工知能の概念を理解していない場合は、次について学ぶ必要があります。できるだけ早く彼らを。現在、グーグル、フェイスブック、マイクロソフト、アマゾン、国内の百度などインターネット大手が人工知能を導入している。人工知能はまだ科学研究の段階ですが、将来的には自動運転、ビッグデータ解析、オンラインゲーム、画像認識、言語処理など、インターネットのさまざまな分野に応用されるでしょう。もちろん、一般のエンジニアは今すぐ人工知能製品に参加することはできないかもしれませんが、少なくともディープラーニング/人工知能の基本的な概念と原理を理解する必要があります。
【関連するおすすめ】
1. PHPを学ぶことに未来はありますか? phpの今後の発展の見通しは何ですか?
3. PHP「Qian Jing」はどうでしょうか?専門家の意見を見てみましょう?
5. PHP をうまく学習すると何ができるでしょうか?