7 Capabilities that PHP software engineers should have

Source: Internet
Author: User
Tags php software php template
PHP programmers should have the 7 kinds of capabilities

PHP programmer should have what kind of ability, can better finish the work, will have a better direction of development? In China I think you will not write a lifetime code, that is impossible, after the golden period, you how to do? After reading this article, I hope to help you.

?

One, PHP capabilities

?

1, understand the stage, you can write some code, because that is the manual and Google's help, you do. Variable definition, n multi-function do not know, do things very slowly, think of what to write, code to write the more chaotic, late maintenance is very troublesome.

?

2, familiar with the stage, often check function, manual estimate also looked at one, two times, commonly used functions basically you understand. Post-maintenance brings you a lot of pain, you start to find your code there are many shortcomings, start thinking if you improve your code, how to stand in the project's perspective to plan your own code, rather than think of what to write, know how to reduce redundant code, make your code clear, know what kind of code written to make people look comfortable , the basic code specification, has been formed. In order to improve themselves, will deliberately go to some technical forum, study.

?

3, very familiar with the stage, I would like to write proficient, to the present I do not know the degree of mastery is to what extent, and did not hear someone say that they are proficient in PHP, so it is very familiar with. At this stage, I think you've entered object-oriented from the process. Personal feel that the greatest advantage of object-oriented, can make the whole project functional, modular, post-maintenance, revision, upgrade is very convenient. When there is no object-oriented, does it develop as well. In this period, you have studied one or several frameworks, combined with your actual project experience, in the brain can already form a framework of their own, this framework is the most suitable for you. And the framework can be applied to the actual development, in order to improve their development efficiency.

?

If you have just written code, someone can constrain you to write the code according to the idea of OOP, then you meet the noble. When bad code habits develop, it is not so easy to change.

?

Second, database capabilities

?

Using PHP to do the project, with MySQL is the most, followed by Pgsql. Because two of them are free. Haha, take MySQL for example

?

1, understand the stage, know what MySQL is, can write some simple SQL statements, can design simple tables, know how to use database management tools (such as: phpMyAdmin)

?

2, familiar with the stage, know how to write high-efficiency SQL statements, understand the principle of indexing, know how to create an index, will write some stored procedures, triggers, etc., can be analyzed by various means, testing the database, for example: using MYSQLSLAP to carry out stress testing, Explain to parse SQL statements, by turning on slow query to analyze which SQL statements really affect the operation of MySQL, can use Dbdesigner4,mysql Workbench for the design of the database, in the command state, query, analysis of the MySQL environment variables, To analyze the running state of MySQL, etc.

?

3, very familiar with the stage, for each kind of storage engine principle is very familiar with, know by modifying the configuration file, so that the storage engine to optimize, know how to tune the maximum number of database connections, know how to optimize the MySQL I/O bottleneck, for the project needs, Add a storage engine or plug-in to the MySQL database, know how to set up a DB cluster, monitor the running state of the database, etc.

?

Three, html,css ability

PHP is a scripting language, we use PHP most of the cases are used to do the site, generously is the site, it must be inseparable from html,css

?

1, understand the stage, know what HTML tags are used, through the network and manual can write some HTML, know how CSS is going to write some simple style in HTML, etc.

?

2, familiar with the stage, can use CSS to design some simple layout, CSS can be written separately, familiar with CSS grammar rules, and inheritance, etc.

?

3, very familiar with the stage, be able to design a good CSS, and manage these CSS files, to minimize redundant code. Know how to write code that facilitates search engines, for example: TITLE,H1,H2 weights are relatively high. such as

?

For PHP programmers, do not necessarily want you to design the page, but give you a page, you need to know how to modify the CSS file, HTML will not say that must be mastered.

?

Four, JS ability

If the user experience is improved, it is an important sign that a website can retain people. This is going to use JS.

?

1, understand the stage, understand the basic syntax of JS, know how to debug these programs, can write some simple function, etc.

?

2, familiar with the stage, the syntax of JS, function, regular and so already familiar with, can use JS to write some special effects, and found that with JS write special effects, is more tiring one thing, began to try Jquery,prototype, and jquery,prototype Basic grammar has some solution, Personal objection not to learn JS, directly to start jquery,prototype such a JS framework.

?

3, very familiar with the stage, with the help of the framework, can skillfully use the idea of OOP to write code, rather than a function accumulation, skilled use of jquery,prototype Ajax, or online some AJAX framework, such as (ajaxrequest), not directly written The active control. Can use network resources, to complete a variety of special effects.

?

For large companies generally have JS programmers, small companies are basically not, either to the programmer to do, or to the artist to do. Art is generally not programmers, there is no programming basis, so learning JS is difficult, but learning jquery is easier, because the CSS to control the HTML method, and jquery for HTML control method is basically similar (css,jquery the same place ), so there are a lot of companies to give special effects to the artist to do.

?

Five, Apache and other capabilities

?

Personally think, to the directory, run PHP words with Apache people still the most, the previous time a lot of sites in noisy nginx how good, can be 10 times times better than Apache, I think it is better to try it yourself. Take Apache as an example

?

1, understand the stage, whether it is under Linux, or under Windows, can install the configuration Apache, know how to add php template, if the interviewer asked you, Apache why can explain PHP code, how do you answer it. To understand the basic configuration of Apache, the problems encountered during startup can be resolved, etc.

?

2, familiar with the stage, know how to add new modules to Apache, if how to do URL rewriting, anti-theft chain, IP restrictions, etc.

?

3, very familiar with the stage, know how to use Apache to cache pictures, can use Apache to do load balancing, and know to use the AB command to pressure, through the tool to log analysis, analysis to optimize Apache, know how to build multiple virtual hosts APAHCE have practical experience in common modules.

?

Apache monitoring and maintenance, usually operations or project managers to do, the individual feel better to understand a little, because so you will not be so easy to be fooled, for their own future transformation is also very necessary.

?

Six, Linux system

?

Why should you master a Linux system? Most of the Web sites written in PHP are running under Linux or FreeBSD, and mastering the Linux system is good for your future development. Thank you for my good friend Wang Yang, he brought me into the world of Linux, I found here the world is very exciting, and now I basically do not use Windows, occasionally playing games will come in, under Linux, do not worry about poisoning problems, Linux virus is very few, do not worry, XX and XXX scan your hard drive out. Ha ha

?

1, familiar with the stage, will be installed Linux system, the common command of the system can be skilled use, etc.

?

2, the application stage, under the Linux system, can install the configuration Apache,php,mysql,svn,memcache,squid,lvs and so on some Web project necessary tools, can through the log analysis its state and so on. Be aware of the shell and be able to write simple shell scripts, etc.

?

Seven, communicate capacity

?

This is very important, and more and more people are ignored, in fact, to do the programmer quite cup, the root computer to deal with the time is the most, perhaps because of this, communicate, is more laborious, it may be the rigorous process of the program to bind the brain, said the words, too professional, may not understand the other people. So usually more communication with others, especially the root of non-technical staff more communicate, more stand in the other side of the point of view to the problem, so that, I think communicate up will be much easier.

?

Reprint Please specify
Author: submarine Eagle
Address: http://blog.51yip.com/php/1153.html

?

  • 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.