PHP from the birth to now has more than 20 years of history, from the rise of the web era to the low tide of mobile internet, the Internet field of various programming languages and technologies, node. js, GO, Python constantly challenged PHP status. The drivers of these technologies are very keen to sing bad PHP, where is the future of the PHP language? How do PHP programmers cope with future changes?
As a veteran web back-end programming language, PHP has a very high market share in the world, after Java, and from the data on various recruitment sites, there are many jobs in PHP development, and the salary level is very good. In fact, in small and medium-sized enterprises, Internet startups PHP's market position is higher than Java. Java has a greater advantage over large enterprises, the traditional software industry, and the financial sector. For now, the languages such as node. js, GO, Python, and Ruby are hard to reach with PHP and Java.
The PHP language has its place today, thanks to the pragmatic nature of the PHP language designers, which hides the complexities of technology at the bottom. PHP Language Primer simple, easy to master, good program robustness, not easy to appear like Java, C + + and other languages such as complex problems, such as memory leaks and Crash, tracking debugging relatively easy. PHP is the official standard library is very powerful, a variety of functions can be found in the official standard library, including MySQL, Memcache, Redis, GD Graphics library, CURL, XML, JSON, and so on, to avoid the developers looking for libraries everywhere trouble. PHP's documentation is great, and each function has a detailed description and usage examples. Third-party class libraries and tools, code, and projects are also plentiful. Developers can quickly and efficiently write and develop various kinds of software using PHP. So far, there is still no more easy-to-use programming language on the market than PHP. So the future of PHP is still very broad, and its struggle with the choice of programming language, it is better to learn to use PHP in depth.
As a senior PHP developer, in the technical to the PHP Program 10 points of future suggestions, I hope to be helpful to everyone.
The 1th is to mention Composer, since Composer appeared, the dependency management of PHP can become very simple. The program relies on some class libraries and frameworks, which are introduced directly using Composer, by using
composer update a package that installs dependencies. Addresses the challenges of loading external libraries in the past. Composer also has a domestic mirror, very fast. Now the vast majority of PHP open source projects have provided Composer support, we recommend that you use Composer in the project to solve the problem of PHP code package management, no longer use the original method of download source, manual include.
The PHP7 version has made a lot of changes to the Zend engine, greatly improving the performance of the PHP language, and using PHP7 can double your program performance instantly. Even the heavyweight software of WordPress, which runs at PHP7, can have thousands of QPS, which is the equivalent of a single server handling 80 million requests per day. With PHP7, MySQL optimized, accelerated with Memcache and Redis, the technology architecture is perfectly capable of dealing with a fairly large scale system. In addition to some billion-tier users of the platform, the general scale of the system is completely free of pressure.
PSR is the PHP language development specification developed by http://www.php-fig.org/organization, which has many rules, such as namespace, class name
Specification, coding style Standard, Autoload, public interface and so on. It has become the de facto standard for the PHP technology community. Many well-known PHP frameworks and class libraries follow the PSR specification. PHP developers should learn to master the PSR specification and should follow the PSR specification as much as possible when developing the program.
2017 is PHP also limited to making Web sites? No, if you don't know swoole, get to know it. Swoole's slogan is to redefine the PHP language, Swoole is an asynchronous parallel communication engine that runs as an extension of PHP. The asynchronous callback swoole of node. JS has the swoole of the Go language, which completely overturns the knowledge of PHP. Using Swoole PHP can implement the resident memory of the Server program, can implement TCP, UDP asynchronous network communication programming development. In the past PHP can only be a Web site, now use Swoole can do Java, C + + to achieve the communication services, such as WebSocket even communication, chat, push server, RPC Remote Call service, Gateway, agent, game server, etc. If you want to use PHP to do something outside of the WEB system, Swoole is the best choice.
In recent years, the hottest PHP framework, the official website is a framework designed for WEB artists, it can be seen how elegant this framework. Laravel provides a wealth of functional modules, API design concise, strong expression. And its community is very active, code contributors are numerous, third-party plug-ins are very large, the ecosystem is quite prosperous. The Laravel bottom uses a lot of symfony2 components to achieve dependency management through composer. If you are still struggling with what PHP framework to use, choose Laravel. Laravel provides command-line tools based on Symfony.console, powerful, integrated with a variety of project management, automatic code generation capabilities.
The Java-like jar package, named Phar, is supported after PHP5.3. Used to package multiple PHP files into a single file. This feature makes it easy for PHP to package and component applications as well as Java. An application can be punched into a Phar package and placed directly into
Run in PHP-FPM. With Swoole, you can start the server by executing a key at the command line
php server.phar . PHP's code package can be packaged into components using Phar and placed in Swoole's server container to load execution.
Any technology has its advantages and disadvantages, PHP as a dynamic scripting language, the advantage is the development of convenient and high efficiency. The disadvantage is poor performance. In the dense operation of the scene than C, C + + dozens of times times or even a hundredfold. In addition, PHP can not directly operate the underlying, you need to rely on the extension library to provide API implementation. PHP programmers can learn a static compiler language as a complement to achieve static and dynamic complementarity, C/c++/go is a good choice. And the static language programming experience is completely different from the dynamic language, and the learning process allows you to get a greater boost.
After mastering the C + + language, you can also read the source code of PHP, Swoole, Nginx, Redis, Linux kernel and other open source software to understand its underlying operating principle.
Now the latest version of Swoole provides support for the C + + extension module, encapsulating the Zend API, and using C + + to operate PHP is very simple, you can implement PHP extension functions and classes in C + +.
As a new generation of WEB front-end standards, HTML5 future prospects are very broad, market demand is very large. From the PC website, b/s enterprise software, mobile Web pages, apps, these areas are embracing HTML5, mastering the HTML5 in the next wave of internet technology to survive.
In addition to writing background programs, PHP programmers have a large portion of their work in the presentation layer that deals with the front-end of the browser. 2017 are you still using JQuery to manipulate the DOM to implement interface rendering? is completely out. It is now easy to use vue.js to bind data and DOM elements. Updating the front-end data automatically implements interface rendering after the backend interface is requested to return data via Ajax. 2017 is too late to learn Vue.
React Native is a good choice if you are not only writing WEB applications but also want to take into account Android, IOS, PC clients and other platforms.
10. Deep Learning/Artificial Intelligence
The future of the internet belongs to AI, and if you don't know the concepts of machine learning, deep learning, artificial intelligence, you need to learn it as quickly as possible. The internet giants are now laying out artificial intelligence, including Google, Facebook, Microsoft, Amazon and domestic Baidu. Although it is still at the stage of scientific research, the future of the Internet will be applied to artificial intelligence, including automatic driving, big data analysis, online games, image recognition, language processing and so on. Of course, now ordinary engineers may not be able to participate in AI products, but at least they should understand the basic concepts and principles of deep learning/AI.
2017 PHP Programmer's Future Path