ホームページ  >  記事  >  バックエンド開発  >  PHP を学ぶ以外に、他に何を学ぶべきですか?

PHP を学ぶ以外に、他に何を学ぶべきですか?

零下一度
零下一度オリジナル
2017-07-19 15:10:383282ブラウズ

PHPの学習に加えて、Composer、PHP7、PSR、Swoole、Laravel、Phar、C/C++/GO、HTML5、Vue.js、ディープラーニング/人工知能などの知識も学ぶ必要があります。

PHP を学ぶ以外に、他に何を学ぶべきですか?

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 update を使用して、Composer を直接使用して依存パッケージをインストールできます。過去に外部ライブラリをロードする際のさまざまな問題が解決されました。 Composer には非常に高速な国内ミラーもあります。現在、ほとんどの PHP オープン ソース プロジェクトは Composer をサポートしています。プロジェクト内の PHP コード パッケージ管理の問題を解決するには、ソース コードをダウンロードして手動でインクルードするという元の方法を使用しないでください。 composer update 安装依赖的包。解决了过去加载外部库的各种难题。Composer 也有国内镜像,速度非常快。现在绝大部分PHP开源的项目都提供了 Composer 的支持,建议大家在项目中使用 Composer 来解决 PHP 代码包管理的问题,不要再使用下载源码、手工 include 的原始方法。

2. PHP7

PHP7 版本对 Zend 引擎做了大量修改,大幅提升了 PHP 语言的性能,使用 PHP7 可以使你的程序性能瞬间翻倍。即使是 WordPress 这样重量级的软件运行在 PHP7 都能有上千 QPS ,相当于一台服务器每天就能处理 8000 万次请求。使用 PHP7 ,做好 MySQL 优化,使用 Memcache 和 Redis 进行加速,这套技术架构完全可以应对相当大规模的系统。除了某些亿级用户的平台之外,一般规模的系统完全没有压力。

3. PSR

PSR 是  组织制定的PHP语言开发规范,约定了很多方面的规则,如命名空间、类名
规范、编码风格标准、Autoload、公共接口等。现在已经成为PHP技术社区事实上的标准了。很多知名的 PHP 框架和类库都遵守了 PSR 规范。PHP 开发者应当学习掌握 PSR 规范,在开发程序时应当尽量遵循 PSR 规范。

4. Swoole

2017 年 PHP 还局限于做 Web 网站吗?No ,如果你还不知道 Swoole ,赶快去了解一下吧。Swoole 的口号是重新定义 PHP 语言,Swoole 是一个异步并行的通信引擎,作为 PHP 的扩展来运行。Node.js 的异步回调 Swoole 有,Go语言的协程 Swoole 也有,这完全颠覆了对 PHP 的认知。使用 Swoole PHP 可以实现常驻内存的 Server 程序,可以实现 TCP 、 UDP 异步网络通信的编程开发。过去PHP只能做一个 Web 网站,现在使用 Swoole 可以做 Java 、C++ 才能实现的通信服务,比如 WebSocket 即使通信、聊天、推送服务器、RPC 远程调用服务、网关、代理、游戏服务器等。如果你想用 PHP 做点 Web 系统之外的东西,Swoole 是最好的选择。

5. Laravel

最近几年最火热的 PHP 框架,官网号称是为 Web 艺术家设计的框架,可见这套框架有多优雅。Laravel 提供的功能模块丰富,API 设计简洁,表达力强。而且它的社区非常活跃,代码贡献者众多,第三方的插件非常多,生态系统相当繁荣。 Laravel 底层使用了很多 symfony2 组件,通过 composer 实现了依赖管理。如果还在纠结使用什么PHP框架,不如选择 Laravel 。 Laravel 提供的命令行工具基于 symfony.console 实现,功能强大,集成了各种项目管理、自动生成代码的功能。

6. Phar

PHP5.3 之后支持了类似 Java 的 jar 包,名为 phar。用来将多个 PHP 文件打包为一个文件。这个特性使得 PHP 也可以像 Java 一样方便地实现应用程序打包和组件化。一个应用程序可以打成一个 Phar 包,直接放到
PHP-FPM 中运行。配合 Swoole ,可以在命令行下执行 php server.phar

2. PHP7🎜🎜 PHP7 バージョンでは、Zend エンジンに多くの変更が加えられ、PHP 言語のパフォーマンスが大幅に向上し、プログラムのパフォーマンスが即座に 2 倍になります。 WordPress のような重量のあるソフトウェアでも、PHP7 上で数千の QPS を実行できます。これは、1 日あたり 8,000 万のリクエストを処理できるサーバーに相当します。 PHP7 を使用し、MySQL を最適化し、高速化のために Memcache と Redis を使用するこの技術アーキテクチャは、かなり大規模なシステムを完全に処理できます。数億人のユーザーがいる一部のプラットフォームを除いて、平均的なサイズのシステムではまったくストレスがありません。 🎜🎜3. PSR🎜🎜PSRは、組織によって策定された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 サイトでは Web アーティスト向けに設計されたフレームワークであると主張しており、このフレームワークがいかにエレガントであるかを示しています。 Laravel は、豊富な機能モジュール、シンプルな API 設計、および強力な表現力を提供します。さらに、そのコミュニティは非常に活発で、多くのコード寄稿者が存在し、多くのサードパーティのプラグインがあり、エコシステムは非常に繁栄しています。 Laravel は最下層で多くの symfony2 コンポーネントを使用し、composer を通じて依存関係管理を実装します。どの PHP フレームワークを使用するか迷っている場合は、Laravel を選択することをお勧めします。 Laravel が提供するコマンドラインツールは symfony.console をベースにしており、さまざまなプロジェクト管理機能と自動コード生成機能が統合されています。 🎜🎜6. Phar🎜🎜 PHP5.3 以降では、phar という名前の Java に似た jar パッケージがサポートされています。複数の PHP ファイルを 1 つのファイルにパッケージ化するために使用されます。この機能により、PHP は Java と同じくらい簡単にアプリケーションをパッケージ化し、コンポーネント化することができます。アプリケーションは Phar パッケージにパッケージ化して、🎜PHP-FPM で直接実行できます。 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. ディープラーニング/人工知能

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

以上がPHP を学ぶ以外に、他に何を学ぶべきですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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