Where are php programmers going in the future and where are php programmers going?
PHP has been around for more than 20 years since its birth. From the rise of the Web Age to the mobile Internet boom, various programming languages and technologies in the Internet field are emerging one after another. js, GO, and Python are constantly challenging the status of PHP. The promoters of these technologies are very keen to sing down PHP. Where is the future of PHP? How Should PHP programmers cope with future changes?
As a well-established Web backend programming language, PHP has a very high market share in the world, second only to Java. From the data of various recruitment websites, PHP has many development jobs and the salary level is also very good. The market position of PHP in small and medium-sized enterprises and internet startups is higher than that in Java. Java has more advantages in super-large enterprises, traditional software industry, and financial fields. Currently, Node. js, GO, Python, Ruby and other languages cannot match PHP and Java.
The reason why the PHP language can be used today is that PHP language designers have been following pragmatism and hiding the complexity of technology at the underlying layer. PHP is easy to get started with, easy to master, and has good program robustness. It is not easy to encounter as complicated problems as other languages such as Java and C ++, such as memory leakage and Crash, tracing debugging is much easier. The standard library officially provided by PHP is very powerful, and various functional functions can be found in the official standard library, including MySQL, Memcache, Redis, GD graphics library, CURL, XML, JSON, etc, this frees developers from having to find libraries everywhere. PHP documentation is great. Every function has detailed instructions and examples. Third-party libraries and tools, code, and projects are also rich. Developers can use PHP to write and develop various types of software quickly and efficiently. So far, no easy-to-use programming language is available on the market. Therefore, PHP has a broad prospect. Instead of entangled in programming language selection, it is better to study and use PHP in depth.
As a senior PHP developer, I hope to help you with the Ten-Point future suggestions for PHP programs.
1. Composer
The first point is to mention Composer. Since the emergence of Composer, PHP dependency management can become very simple. The program depends on some class libraries and frameworks and can be directly introduced using Composer.composer update
Install the dependent package. Solved various difficulties in loading external databases in the past. Composer also has domestic images, which is very fast. Currently, most open-source PHP projects support Composer. We recommend that you use Composer in the project to solve the PHP code package management problem, do not download the source code or manually include the original method.
2. PHP7
PHP 7 has made a lot of changes to the Zend engine, greatly improving the performance of the PHP language. Using PHP7 can instantly double the performance of your program. Even a heavyweight software like WordPress runs on PHP7 with thousands of QPS, equivalent to a server that can process 80 million requests every day. Using PHP7 to optimize MySQL and use Memcache and Redis for acceleration, this technical architecture can fully cope with large-scale systems. Except for platforms with hundreds of millions of users, general systems have no pressure at all.
3. PSR
This is a PHP language development specification developed by the http://www.php-fig.org/organization, which stipulates many rules, such as namespace and class name.
Standard, encoding style standard, Autoload, public interface, etc. Now it has become a de facto standard for the PHP technical community. Many well-known PHP frameworks and class libraries comply with the PSR specification. PHP developers should learn to master the PSR specification, and should try to abide by the SRS specification when developing programs.
4. Swoole
Is PHP limited to Web websites in 2017? No. If you do not know Swoole, please check it out. Swoole's slogan is to redefine the PHP language. Swoole is an Asynchronous Parallel Communication engine that runs as an extension of PHP. Node. js asynchronous callback Swoole is available, and the Go language's coroutine Swoole is also available, which completely subverts the perception of PHP. Swoole PHP can be used to implement the Server program with resident memory and programming and development of TCP and UDP Asynchronous Network Communication. In the past, PHP could only serve as a Web site. Currently, Swoole can be used as a communication service for Java and C ++, for example, WebSocket, even if communication, chat, push server, RPC remote call service, gateway, proxy, game server, etc. Swoole is the best option if you want to use PHP to do something outside the Web system.
5. Laravel
The most popular PHP framework in recent years. The official website claims to be a framework designed for Web artists. It can be seen how elegant this framework is. Laravel provides a wide range of functional modules, Simple API design, and strong expression. In addition, 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 many symfony2 components at the underlying layer and implements dependency management through composer. If you are still struggling with what PHP framework to use, select Laravel. Laravel provides a powerful command line tool based on symfony. console. It integrates various project management and Automatic code generation functions.
6. Phar
PHP5.3 and later support a jar package similar to Java named phar. It is used to Package Multiple PHP files into one file. This feature allows PHP to easily package and componentize applications like Java. An application can be packaged into a Phar package and put directly
Run in PHP-FPM. With Swoole, You can executephp server.phar
Start the server with one click. PHP code packages can be packaged into components using Phar and loaded and executed in Swoole's server container.
7. C/C ++/GO
Any technology has advantages and disadvantages. As a dynamic scripting language, PHP has the advantage of convenient development and high efficiency. The disadvantage is poor performance. In intensive computing scenarios, it is dozens or even hundreds of times different from C and C ++. In addition, PHP cannot directly operate on the underlying layer. It must rely on the extension library to provide API implementation. PHP programmers can learn a static compilation language as a supplement to implementing dynamic and static complementarity. C/C ++/Go is a good choice. In addition, the programming experience of static languages is completely different from that of dynamic languages, and the learning process can greatly improve you.
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.
Currently, Swoole of the latest version provides support for C ++ extension modules, encapsulates Zend APIs, and uses C ++ to operate PHP easily, PHP extension functions and classes can be implemented using C ++.
8. HTML5
As a new generation of Web Front-end standards, HTML5 has a broad future prospects and a huge market demand. From PC websites, B/S enterprise software, mobile web pages, and apps, these fields are embracing HTML5, and HTML5 can survive the next wave of Internet technology.
9. Vue. js
In addition to writing background programs, PHP programmers also have a large part of their work at the presentation layer to deal with browser frontend. In 2017, are you still using jQuery to perform DOM rendering on the interface? It is completely out. Now, with Vue. js, you can easily bind data to DOM elements. After Ajax requests the back-end interface to return data, update the front-end data to automatically render the interface. It will be too late to learn Vue again in 2017.
React Native is a good choice if you not only need to write Web programs, but also want to take into account platforms such as Android, IOS, and PC clients.
10. Deep Learning/artificial intelligence
The future of the Internet is artificial intelligence. If you do not know the concepts of machine learning, deep learning, and artificial intelligence, you need to learn about it as soon as possible. Internet giants are now deploying artificial intelligence, including Google, Facebook, Microsoft, Amazon, and Baidu in China. Although it is still in the scientific research stage, in the future, all fields of the Internet will be applied to AI, including automatic driving, big data analysis, online games, image recognition, and language processing. Of course, ordinary engineers may not be involved in AI products yet, but at least they should understand the basic concepts and principles of deep learning and AI.
Source: segmentfault Author: matyhtf)