Home  >  Article  >  Backend Development  >  What skills should a senior PHP programmer possess?

What skills should a senior PHP programmer possess?

王林
王林forward
2019-08-20 16:03:192642browse

1. Calm mentality

Like all programmers, writing good programs cannot be done without a good mentality.

Don’t be impatient when encountering problems, and don’t give up easily.

In the process of program development, especially junior and intermediate programmers, the programs or structures they write will encounter many problems. Some of them are relatively weak, and some have never been encountered at all, so don’t go too far. If you are impatient, you should investigate the original source of the problem one by one and eliminate them. Developing the system with an impatient attitude is irresponsible for the project. Impatience will make people learn to make do, and people will learn to escape.

I believe that this kind of mentality will also help your ability to deal with other aspects.

Why is mentality included? I want to explain: it is different from the sales function, which requires a lot of passion, but requires quiet thinking

2. 1 Use familiar problem-solving ideas

A program development colleague once wrote in his QQ signature: Every time a bug is solved, give yourself an improvement. Indeed, programmers who have not really solved countless bugs or problems cannot be called experts or senior programmers. And it is from this problem-solving process that a senior programmer continuously exercises himself and forms a set of familiar problem-solving ideas, making himself strong.

I will also briefly talk about some problems that PHP programmers often encounter when growing up. If you have never encountered any or rarely encountered them, then you are one of the two extremes: either a beginner, or a beginner. Or it’s too advanced, haha.

1. Encoding problem.

2. PHP and SQL database execution efficiency issues.

3. Session and Cookie domain and encryption parsing issues.

4. The execution sequence of the program.

5. The problem of multi-environment applicability of program writing.

6. Classification construction and structural design issues.

7. String processing issues: regular expression processing or simple PHP string processing functions.

8. The writing limitations of various template engines.

9. PHP and web-side data interaction issues (such as ajax, interface calls, etc.).

3. Excellent basic knowledge of PHP

Without excellent basic knowledge of PHP, no matter how good your mentality is and how strong your problem-solving ability is, you can only talk on paper.

Excellent basic knowledge will make you comfortable in the project development process.

I will also briefly talk about the basic knowledge that PHP engineers should have (in fact, these are very common in recruitment requirements):

1. Grammar rules, I won’t talk about this. Yes, but you haven’t gotten started yet, so quickly buy a book or find a website to catch up.

2. How to write various SQL statements in MYSQL, not to mention the basics of addition, deletion, modification and search, in(), union, left(), left join, as, replace, alter table, where field sorting, Be particularly familiar with various indexing methods.

3. Those who can build LAMP environment and WAMP environment by themselves, one-click installation using integrated software will not be counted. When developing a program, I don’t know the structure of the environment I developed. How can I troubleshoot problems? So you must at least be able to use the corresponding msi file to install the development environment you need. The installation is successful 3-5 times, which is considered okay. You must also be able to install various extensions, configure the apache service, know where and how to set various parameters, and know the basic commands of the Linux operating system.

4. Be familiar with other programs on the web, because PHP is not a completely independent thing. It is used in conjunction with other languages ​​​​and elements to complete a project. If you are not familiar with other languages ​​​​and elements, you can Teamwork can be very difficult. These other elements include: html, java, jquery, xml, http protocol, regular expressions, etc.

4. Comprehensive Internet application and project management knowledge and literacy

1. Broad knowledge and good at learning

Only focus on studying, not reading If you look and learn what others are doing, you will be like a frog at the bottom of a well, unable to see the vast sky; therefore, don’t just focus on programming every day, learn to take some time to look at the architectural ideas of some large-scale open source systems, and the construction methods of large-scale business websites. . Learn from them and make up for your own shortcomings.

For example, you should at least know what different types of open source systems are, such as Uchome, dede, phpcms, wordpress, discuz, empire, etc.

If you read too much, you will also summarize and discover some general ideas, such as caching mechanism, template mechanism, static page generation, etc.

2. Project solution selection

Different needs require different organizations and selections. It is often said that "water comes to cover, soldiers come to block it." Some architectures are powerful, but they will also be very difficult to use in small projects. It is important to choose based on your needs.

Selection cannot be made casually. It requires a PHP programmer to have good reserves. I personally feel that at least the following reserves are needed to have the ability to select:

* Proficient in applying at least one PHP framework, two or three PHP open source systems;

* has its own set of application systems.

3. Good project management literacy

The project is not always in the development process. The project will also enter the operation period and maintenance period. In this way, having good project management literacy will make the project more stable. Controllable.

Good project management qualities include:

Good project development and maintenance habits, remember: Don’t cause repeated work many times in the future just to save temporary effort. Always remind yourself to streamline your work, plan your processes, and simplify your standards.

Good awareness of multi-person cooperation management: The project does not belong to one person, it is the product of multi-person collaboration, and it also serves the public. Therefore, it is necessary to enhance the awareness of collaboration and let relevant people work together to improve the project.

4. Rich experience in project development and application

Learning theories and taking exams or assessments are a matter of school. Without project experience, it is like a stomach full of scriptures that is difficult to spit out.

This requires actual projects to learn to transform their own knowledge into demand realization.

5. Good development practices

The code is highly readable: comments on objects, methods, and functions; a set of mature naming conventions.

Low code redundancy: high reusability of programs and files, high cohesion, and low coupling.

High execution efficiency: Use the simplest program flow to realize application requirements without disturbing big twists.

Good code security: Be a vigilant programmer and be extra cautious wherever there is user input or uploaded files. A programmer's momentary negligence may cause a system to crash in an instant.

In addition, let me say a few more words, senior PHP engineer. In fact, it is not too difficult for someone who can persist a little and likes PHP; what is difficult is to learn to use tools to realize ideas, whether it is your own ideas or Learn to transform the needs of others.

In this way, you might as well learn more about the development trends of the Internet, project development management processes, etc.

If you want to learn more about PHP, please visit the PHP Chinese website: //m.sbmmt.com/

The above is the detailed content of What skills should a senior PHP programmer possess?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete