What is the knowledge structure of a qualified PHP engineer?

Source: Internet
Author: User
Tags dedicated server zend framework

Reply content:

1. Mastering the grammar of the language itself, familiar with the common class library is necessary;
2. The current mainstream of object-oriented is also essential;
3. The common design pattern must master, the design pattern is the predecessor's summary, the experience;
4.php is often used in conjunction with the database, and first for MySQL, so MySQL must be familiar;
5.php is a Web development language is popular, so the browser JavaScript must be, although many companies now have professional JavaScript engineers, but PHP programmer JS also must master;
6.html/css must be, do not ask you will div+css, but at least know, because PHP is a language embedded in HTML (of course, PHP can also be used for desktop and other, but with the Web (HTML) is its popular reason);
7.linux do not need to, will certainly be better, the general company has dedicated server management personnel. But you will be programmed under VI, which is not as good as under the IDE, you should try to familiarize yourself with the class library.

In fact, the above 7 points are very targeted at web development, need to master the knowledge, in fact, and the language itself is not related to, should say have a lot to do with the project ., if you want to use PHP to write a Web operating system, so the design of the operating system you want to know it. Language is just a tool, 4 years of college curriculum, that is, knowledge structure, and language has nothing to do with。 As a programmer for several years of PHP development I say the personal view:

1 If you are a programmer, whether you are Ruby, Python, Java,. NET, C, C + +, or PHP, you may need to learn the basics of these languages, the function library of the language, or the class library, the more familiar the better
2 for Web application development programmers, you must be familiar with database and SQL programming, it must be more familiar with the better, but also for JavaScript and CSS, the more familiar the better
3 for the database and server configuration, this should not be the place where you need to spend a lot of energy, because this is the work of the OPS, if a company has a requirement for this, they estimate there is no ops, these things are cumbersome, and need to practice, so it is recommended not to spend too much practice on this, understand can
4 for the design pattern is also known as the main, you may use the design pattern of the place is very few, and if you really have a sense of programming, a period of time after the practice you naturally know how to use, which always like to design patterns, programming ideas hanging on the mouth of the basic is not graduated
5 If you can, I recommend using a Linux system, learning vim, and learning to compile apache,php,mysql, but if you stick with the Linux system, you'll definitely try to compile it yourself.
6 Read PHP manual, learn English, what problems first read the manual
7 Learn Agile development, learn to write unit tests using PHPUnit, simpletest tools, and use them in actual projects
8 If you want to drill down, learn the development of PHP extensions, perhaps you may not develop extensions, but if you understand that if you develop an extension, you will know that PHP is not so much as simple to say
9 Learn and use the framework of PHP, if you use a framework for 1-2 years, then try to look at its source code, and try to understand the code, if possible, try to develop a framework
10 all programming languages are said to solve specific problems, language is very important, learn to use a good language is not a day two days, do not believe that the people who sell you the idea of programming, thought is accumulated in practice, rather than read the book to learn other people's thoughts will be, and then anything can be written
11 Learning algorithms, exercise thinking in fact Phper is also sub-front and back-end, knowledge required for front-end Phper
    1. Div+css this does not necessarily have to be proficient, but to be familiar with and master
    2. JS This is also to grasp, especially the jquery framework, is currently very mainstream, some page effects or the Ajax interaction with PHP is often used to
    3. PHP This grammar base and class library to master, PHP manual can be often read, PHP template engine, PHP framework is required.
    4. PHP's common operations and optimizations for MySQL are also required
Phper for Back-end:
    1. The lamp environment itself will be configured, some websever configuration to understand, common Linux commands and some simple shell scripts to write back
    2. Not only to understand how MySQL works, some MySQL-based source-level optimizations also need to master the
    3. Java or C's Language foundation may also need some, PHP does not solve all problems, when phphold can not be considered to do some of the necessary module development on Websever, or the use of OS resources, such as the GD Class Library processing image performance is not necessarily very good, completely can use ImageMagick, try it.
    4. PHP source code and MySQL source code are all have to be researched

1), to the computer theory needs to have a basic understanding of the data structure knowledge to master. Understand the characteristics of various data structures, application scenarios. Be able to relate to specific work.

2), Proficiency in PHP syntax, familiar with common library, the string library, regular library must be proficient.

3), understand, master the common design patterns, it is best to study some common framework source code.

4), to the front-end and back-end knowledge need to understand. Master the front-end div+css+js, especially the jquery framework.

5), master the common PHP operation and optimization of Mysql,memcache.

6), familiar with the common Linux commands, can write some simple shell script.


From: Avazu holding Liu slowly

/ http blog.goody365.com/lamp/ lamp%e5%90%8e%e7%ab%af%e5%bc%80%e5%8f%91%e6%8a%80%e8%83%bd%e8%a1%a8v0.html I cite the importance of:
1. Design ideas: There is no good or bad programming language, it is important that your mind (children and adults in the hand to take the strokes of the things are different, the painting of the interpretation is different). The knowledge composition of thought:
1> data structures, design patterns, etc. (in fact, each data structure and design pattern is a design idea)
2> "Java programming thought", can also compare the Yii, CI, Zend Framework each of the advantages and disadvantages, draw the design idea
3> Each design idea the object of operation may be a data structure, memcache key, Database Db/table/field, Div, IP, IDC, etc.
2. Filter tool: Take the thought to filter the tool.
1> you need PHP to provide a function to detect the single state mode, you need to learn C to write an extension
2> you need to query the database with PHP to learn about MySQL and PDO related
3> you need to debug PHP on the page and feel the output of the data format is not good to learn Html+css+div
4>memcache, Nginx, Apache the same person since learning the rails, the application level of PHP significantly increased by 1 HTTP protocol
2 Caching and Database
3 PHP Memory allocation principle
4 Scoket Programming
5 server configuration and server management.
6 Algorithms and data structures
7 SQL performance Analysis and optimization
8 system disaster tolerance, high load design
    1. PHP language
    2. HTTP protocol
    3. Html
    4. SQL (MySQL)
    5. Server (Apache/nginx)
    6. Cache (Redis,memcache)
    7. Test tool (AB,...)
Recruitment requirements for recruiting websites.
  • Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.