Home > Article > Backend Development > Besides learning PHP, what else should you learn?
In addition to learning PHP, you should also learn Composer, PHP7, PSR, Swoole, Laravel, Phar, C/C++/GO, HTML5, Vue.js, deep learning/artificial intelligence and other knowledge.
The reason why the PHP language has achieved today's status is due to the fact that the 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 PHP to write and develop various software quickly and efficiently. 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. Install the dependent packages by using composer update
. 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 can instantly double the performance of your program. 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.
PSR is a PHP language development specification formulated by the 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 find out about it quickly. 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 can be used to create communication services that can only be implemented in Java and C++, such as WebSocket 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, which shows how elegant this framework is. Laravel provides rich functional modules, simple API design, and strong expressiveness. Moreover, its community is very active, with many code contributors, 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.
After PHP5.3, a Java-like jar package named phar is supported. 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 php server.phar
from the command line to start the server with one click. PHP code packages can be packaged into components using Phar 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.
After mastering the C/C++ language, you can also read the source code of open source software such as PHP, Swoole, Nginx, Redis, and Linux kernel to understand its 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 Web front-end, HTML5 has a very broad 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.
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 the concepts of machine learning, deep learning, and artificial intelligence, then you need to learn about them 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.
The above is the detailed content of Besides learning PHP, what else should you learn?. For more information, please follow other related articles on the PHP Chinese website!