Today we will talk about the development trend of PHP in 2017, as well as the career development direction of a PHP programmer, and give ten suggestions to become a PHP programmer who keeps pace with the times!
Course start notice: php Chinese website "The 10th PHP Online Training Course" is currently being registered!
PHP has a history of more than 20 years since its birth. From the rise of the Web era to the ebb of the mobile Internet, various programming languages and technologies have emerged in the Internet field, Node.js, GO , Python continues to challenge PHP's status. The promoters of these technologies are very keen to badmouth PHP. What is the future of the PHP language? How should PHP programmers respond to future changes?
As a veteran Web back-end programming language, PHP has a very high global market share, second only to Java. According to data from various recruitment websites From the above, it seems that there are many positions for PHP development, and the salary level is also very good. In fact, the market position of PHP in small and medium-sized enterprises and Internet startups is higher than that of Java. Java has greater advantages in very large enterprises, traditional software industries, and financial fields. At present, languages such as Node.js, GO, Python, and Ruby are still difficult to match PHP and Java.
The reason why the PHP language has achieved today's status is due to the fact that PHP language designers have always followed pragmatism and hidden the technical complexity at the bottom. The PHP language is simple to get started with and easy to master. The program is robust and not prone to complex problems like Java, C++ and other languages, such as memory leaks and crashes. Tracking and debugging is relatively easy. The standard library officially provided by PHP is very powerful. Various functional functions can be found in the official standard library, including MySQL, Memcache, Redis, GD graphics library, CURL, XML, JSON, etc., which saves developers from searching for libraries everywhere. trouble. PHP's documentation is excellent, with detailed descriptions and usage examples for each function. Third-party libraries, tools, codes, and projects are also abundant. Developers can use it quickly and efficiently Write and develop various software in PHP. So far, there is still no programming language on the market that is simpler and easier to use than PHP. Therefore, the prospects of PHP are still very broad. Instead of worrying about the choice of programming language, it is better to learn and use PHP in depth.
As a senior PHP developer, I would like to give you ten technical suggestions for the future of PHP programs. I hope it will be helpful to everyone.
The first point is to mention Composer. Since the emergence of Composer, PHP dependency management can become very simple. The program relies on some class libraries and frameworks, which can be introduced directly using Composer. By using <span style="font-size: 16px;">composer
update</span>
Install dependent packages. Various difficulties in loading external libraries in the past have been solved. Composer also has domestic mirrors, which are very fast. Nowadays, most PHP open source projects provide support for Composer. It is recommended that you use Composer to solve the problem of PHP code package management in your project. Do not use the original method of downloading source code and manually including.
The PHP7 version has made a lot of modifications to the Zend engine, which greatly improves the performance of the PHP language. Using PHP7 allows you to The program performance is doubled instantly. Even heavyweight software like WordPress can run thousands of QPS on PHP7, which is equivalent to a server that can handle 80 million requests per day. Using PHP7, optimizing MySQL, and using Memcache and Redis for acceleration, this technical architecture can fully handle a fairly large-scale system. Except for some platforms with hundreds of millions of users, systems of average size are completely stress-free. (Related recommendations: php self-study guide, php self-study path from entry to proficiency)
PSR is a PHP language development specification formulated by the php-fig.org organization. It stipulates many rules, such as namespace, class name specification, coding style standard, Autoload, public interface, etc. . It has now become the de facto standard in the PHP technology community. Many well-known PHP frameworks and libraries comply with the PSR specification. PHP developers should learn to master the PSR specification and try to follow the PSR specification when developing programs.
Is PHP still limited to web websites in 2017? No, if you don’t know Swoole yet, go and find out about it. Swoole's slogan is to redefine the PHP language. Swoole is an asynchronous and parallel communication engine that runs as an extension of PHP. Node.js has asynchronous callback Swoole, and Go language coroutine Swoole also has it, which completely subverts the understanding of PHP. Using Swoole PHP, you can implement a memory-resident Server program and realize the programming development of TCP and UDP asynchronous network communication. In the past, PHP could only build a Web website, but now Swoole is used It can provide communication services that can only be implemented in Java and C++, such as WebSocket instant communication, chat, push server, RPC remote calling service, gateway, proxy, game server, etc. If you want to use PHP to do something other than web systems, Swoole is the best choice.
The most popular PHP framework in recent years, the official website claims to be a framework designed for Web artists, you can see this framework How elegant. Laravel provides rich functional modules, simple API design, and strong expressiveness. Moreover, its community is very active, there are many code contributors, there are many third-party plug-ins, and the ecosystem is quite prosperous. Laravel uses a lot of symfony2 components at the bottom layer, and realizes dependency management through composer. If you are still wondering which PHP framework to use, it is better to choose Laravel. The command line tool provided by Laravel is based on symfony.console and is powerful. It integrates various project management and automatic code generation functions. (Related recommendations: Laravel5.2 Blog Practical Video Tutorial)
After PHP5.3, a Java-like jar package is supported, named phar. Used to package multiple PHP files into one file. This feature allows PHP to package and componentize applications as easily as Java. An application can be packaged into a Phar package and run directly in
PHP-FPM. With Swoole, you can execute <span style="font-size: 16px;">php server.phar</span>
from the command line to start the server with one click. PHP code packages are available
Phar is packaged into components and placed in Swoole's server container for loading and execution.
Any technology has advantages and disadvantages. As a dynamic scripting language, PHP has the advantage of easy development and high efficiency. The disadvantage is poor performance. In intensive computing scenarios, it is dozens or even hundreds of times worse than C and C++. In addition, PHP cannot directly operate the underlying layer and needs to rely on extension libraries to provide API implementation. PHP programmers can learn a static compiled language as a supplement to achieve dynamic and static complementation. C/C++/Go are all good choices. Moreover, the programming experience in static languages is completely different from that in dynamic languages, and the learning process can allow you to achieve greater improvement. (Related recommendations: C++ video tutorial)
After mastering the C/C++ language, you can also read PHP, Source code of open source software such as Swoole, Nginx, Redis, and Linux kernel, and understand their underlying operating principles.
The latest version of Swoole now provides support for C++ extension modules and encapsulates the Zend API. It becomes very simple to operate PHP with C++, and PHP extension functions and classes can be implemented in C++.
As a new generation standard for the Web front-end, HTML5 has a very bright future and a huge market demand. From PC websites, B/S enterprise software, mobile web pages, and APPs, these fields are all embracing HTML5. Only by mastering HTML5 can you survive the next wave of Internet technology. (Related recommendations: Html5 video tutorial)
In addition to writing background programs, PHP programmers also have a large part of their work in the presentation layer, dealing with the browser front-end. Are you still using jQuery to operate DOM to implement interface rendering in 2017? It's completely out. Now it is very convenient to use Vue.js to bind data and DOM elements. After requesting the back-end interface to return data through Ajax, the front-end data is updated to automatically implement interface rendering. It will be too late if you don’t learn Vue in 2017.
If you not only want to write Web programs, but also want to take into account Android, IOS, PC client and other platforms, React Native is a good choice.
The future of the Internet belongs to artificial intelligence, if you don’t understand machine learning, deep learning, artificial intelligence You need to learn and understand these concepts of intelligence as soon as possible. Now Internet giants are deploying artificial intelligence, including Google, Facebook, Microsoft, Amazon and domestic Baidu. Although it is still in the scientific research stage, artificial intelligence will be applied to various fields of the Internet in the future, including autonomous driving, big data analysis, online games, image recognition, language processing, etc. Of course, ordinary engineers may not be able to participate in artificial intelligence products now, but they should at least understand the basic concepts and principles of deep learning/artificial intelligence.
[Related recommendations]
1. Is there a future for learning PHP? What is the future development prospect of php?
2. The most important programming language to learn in 2017 is PHP?
3. How about PHP "Qian Jing"? See what the experts say?
4. My PHP learning path, the learning insights of a PHP master
5. What can you do if you learn PHP well? Who is suitable for learning PHP?