Home >Backend Development >PHP Tutorial >Discuss the levels of PHP related skills, discuss the levels of PHP_PHP tutorial
1. PHP programming ability
Since the introduction to PHP is relatively simple, so for the time being There are only two levels: familiarity and proficiency.
1. Familiar with PHP: Be proficient in PHP syntax, master commonly used functions, and be familiar with OOP applications under PHP5. This is the basics, and there is nothing much to say.
2. Proficient in PHP: understanding of PHP operating mechanism; interactive understanding of system resource calls; key performance optimization capabilities.
2. MySQL capabilities
The application in development is based on several capabilities:
1. Understanding: know how to use PHP to connect to the database; understand Write some simple SQL; build some simple indexes; know how to use tools to simply operate the database (add, delete, modify database table structure data, etc.).
2. Familiarity: know how to design databases for development applications, establish some effective indexes, use explain to analyze SQL performance, stress testing, etc.
3. Very familiar: Have an in-depth understanding of database indexes, storage engine principles and operating mechanisms, and be able to effectively build high-performance and scalable database structures/architectures, effectively optimize and debug database performance configurations, and analyze database operating status.
4. Proficient: Simply put, while possessing all the above abilities, he also has many years of experience in optimizing management in high-load distributed environments.
According to my observation and interaction experience, 70% of PHPers are in the understanding stage, 25% are in the familiarity stage, and >4% are very familiar with it. Those who are proficient are basically not phpers.
70% of this group are most likely to ignore MySQL, thinking that MySQL is just a simple storage medium and have no awareness of optimization. They think that adding more memory and CPU can solve the problem.
Typical incidents: The performance of join, order by, group by and other statements is a mess, the database is not designed at all (limited to splitting into one main table, N appendices, etc.), the field types and functions are unclear, and large tables are encountered There is no way to solve complex queries.
20% of people in this group just do not have a thorough understanding of the MySQL operating mechanism, and are not clear about the key factors that affect MySQL performance and are not proficient.
Typical incident: Familiar with the manual, but unable to explain the principles of indexing, or the role of algorithms such as binary trees and HASH on the database
> 4% of the group are basically qualified to perform the functions of DBA .
3. OOP capabilities
1. Understand: Understand the scope, type, and meaning of variables, understand the inheritance mechanism, etc., and understand the concept of reuse and encapsulation
Read.
2. Familiarity: Proficient in using interfaces, abstraction and other technologies to develop programs, and understand their meaning. Generally, JAVA has been studied.
3. Very familiar: Have experience in OOP architecture design, familiar with design patterns, UML, familiar with PHP object operating mechanism, content management, etc.
4. Proficient: should be at the architect level, not limited to PHP.
We often meet people who claim to be familiar with OOP but cannot explain public, private, protected, and static clearly. They must have never experienced a formal OOP project.
4. Experience with large websites
1. Understanding: Familiar with caching applications developed in PHP (memcache, APC, etc.); have been exposed to LVS, SQUID applications;
Have certain Session processing solutions; familiar with load balancing; familiar with PHP data connection pool applications; understand PHP programming performance optimization.
2. Familiarity: Master distributed cache and cache performance optimization, be familiar with storage systems, file systems, databases, and develop scalable platforms. It can reasonably arrange traffic in combination with load balancing and monitor and analyze PHP operating performance.
3. Very familiar: possess the ability of system analyst, beyond the PHP link...
4. Proficient: too profound..
5. Operating system application ability
Familiarity and proficiency with the operating system requires extensive and solid basic theory. For developers, they need to be familiar with basic command operations and have the ability to install, configure, and optimize WEB-related services.