How should PHP programmers plan their careers?

Source: Internet
Author: User
Tags learn php php and mysql php template smarty template
1, I am 23 years old this year.
2, just engaged in PHP, know the work experience of predecessors can let me go a lot less detours, sincere advice.

Reply content:

Don't quite agree upstairs to answer anonymously.
The improvement of technology is the accumulation of certain theory and the precipitation of actual project experience.
First of all talk nonsense, introduce the background, do not like to directly pull the right scroll bar ...
Personal intervention to learn PHP time is not long, is not short, should be from the school's sophomore has been to now, about four years or so, but not a real sense of four years of PHP experience, because in school after all, is very limited, whether it is learning route planning or project exercise opportunities.

The main 23-year-old should be the university just graduated, do not know whether in school has contact with research and development related.
Summing up, the individual learning route should be from the desktop application Development C #, SQL Server, to the back to learn HTML, CSS, JAVASCRIPT, PHP, MYSQL, Android and so on.

---------------------I am the evil dividing line-------------------------------
Enter the theme, if the main topic has ample time to suggest or focus on accumulating their basic knowledge ability, found around a lot of people, especially students or in order to transform the rapid learning PHP, in the study of the basic knowledge of the neglect, such as seen a classmate learning to the session, When the cookie feeling was not used at that time, or simply skipped, or just understand, to the back of the project in the use of the basic forgotten, and then back to study or data to solve than the initial time spent to precipitate this knowledge is actually not worth the candle.
The basic technical ability here refers to the PHP language itself syntax rules, various features, such as strings, array operations of various functions, regular expressions, sesscion, cookies, database, file, network, image manipulation and so on.

First Stage: introductory article
I am in touch with PHP, looking at "proficient in PHP5 application development", "PHP and MySQL 5 program design"
watercress score of 7.5 and 7.7, the specific book review on not much to say, but also a good two books, suitable for getting started, there is in fact, "proficient in PHP5 application development" involved in the knowledge point of comparison, but also more suitable to do the back of the search for the use of the dictionary. Watercress score of 7.5 and 7.7, the specific book review on not much to say, but also a good two books, suitable for getting started, there is in fact, "proficient in PHP5 application development" involved in the knowledge point of comparison, but also more suitable to do the back of the search for the use of the dictionary.
Attached link:
Proficient in PHP5 application development (watercress)
PHP and MySQL 5 program design (watercress)
Database SQL-related knowledge and front-end in the past is just getting started, after a week of learning to start small test sledgehammer, do a basic personal homepage, and then use the socket to do the network chat system, and then to the back to start doing the actual project, At that time, I was very grateful to the school's software team teachers to give us so many opportunities to contact the project, the fact that the real technical ability to improve the project is also refined, in the project will encounter a variety of problems, to solve the process is the accumulation of personal knowledge, ability to improve the process.

After the study of the framework, first of all, smarty, suggested that if time allows the best to learn this, understand what is the front and back end of the separation, PHP template basic implementation. Although there are fewer scenes behind it, it is a good entry-type open-source small framework. PHP Template Engine
Remember to do a military hospital's official website and internal use of the system, but also learned a lot of things, when trying to use the Smarty framework +access database to do. A talk about this many people are very puzzled why access, in fact, was thinking that the project needs to involve only a few content release type of function, silly feel no need to use MySQL, also want to try to use PHP with the development process of access, encountered a lot of problems, such as
    1. I didn't use it at first. Access database development, dead and alive and PHP connection does not pass
    2. The maximum content length supported for text type fields in Access is 4096, which needs to be configured in php.ini
    3. Want to in the Smarty file structure do not want to put all the logical files in a directory, to configure the path of this directory waste a lot of effort
    4. Some SQL in Access is not the same as MySQL, but I didn't know it at the time. )
    5. Multiple people working with SVN always conflict or post-merger problems
    6. ...

In fact, the above problems are encountered in the development of some environment before the construction and software is not proficient, in fact, the code logic is not very complex. Of course, because the experience is relatively small, so also encountered a lot of development problems.
In addition, it is difficult to deploy and debug because it is a project in a military hospital. Vaguely remember is the 2012 year 28 when still in the hospital work overtime debugging code, was still pretty spelling ... Together with the project requirements discussion, development cycle and maintenance period, a total of nearly two months, including one months in the school side of the case to do this in the classroom, and finally a good successful delivery, the first complete project or a more fulfilling sense.

Next is the Learning thinkphp framework , until today, the TP framework is one of the more handy frameworks for personal use,

TODO: To order (the story behind it is a little masochistic, go down and eat a spicy yajing)
September 4 Update
Long time no update, also this period of state compared ferocious, take advantage of the holiday to adjust under

Not so lucky in the back, in order to cater to another customer needs, with the food to no friend of the technology for a long time to participate in an e-commerce site, because there is no more mature project experience, so in the architecture design, demand control and technical implementation of less experience, the project results are still hanging out, It lasted 1.5 and was the most memorable of an entrepreneurial experience.
During this time, I encountered a few difficult problems (only technical aspects):
1. Project involves switching cities and judging IP sources
2. A large number of posts to publish information, not optimized solution
3. The self-increment ID in the Details page URL exposes the number of posts in the library
4. Page browser compatibility issues (need to be compatible with IE6 at that time)

First of all, the city and IP source problem, was the use of a pure database read-write solution, in the middle without any file or memory caching technology, table structure is:
| ID | Province | City | Area
Probably have more than 3k of data, and then realize that also need to follow the first letter to filter the city, just started to think of the solution is to filter out all the city, and then the name of all the city use code for the first letter pinyin decomposition ... And it really did ...
This kind of table structure and every time the library can imagine in the city to switch pages will be how terrible things happen, basically it is not feasible, and then improved, but now seems to be very sb.
In addition, according to the IP source of the automatic switch/suggestion city, find a lot of solutions or not very accurate positioning.

Post post information, this for some practiced hand small projects without too much attention, the general release cycle will not be very frequent, the amount of small good control, but for a large number of posts to publish information related to the details of the display of the page basically do not take some optimization measures is not feasible, the amount of traffic must hang off, And this implementation of itself is relatively morbid, not to mention adding memcached and Reids, even a page static words are not.

The ID parameter for the detail page get is not considered in the initial scenario, because the ID is the self-increasing primary key, exposing the amount of data in the library, and then using the post number to identify it.

About browser compatibility issues, this does greatly improve the personal front-end CSS level, and related to the JS operation Dom Knowledge, has benefited.
In fact, until now I feel that there is no need to label yourself in the technical study, you are doing the back-end PHP or front-end JS or Python, a lot of people say you learn so many things and not fine, for a thing mastery is required time accumulation, but the knowledge is too narrow is fatal, Many Daniel learn a language while learning other languages by the way. While the work may be more restrictive about what type of development you are doing, there is no need to be too harsh on your personal skills. Can not above his business in many aspects, at least learning programming language is more taboo.
I think the more fortunate thing is to have a product manager internship experience, personal work and career development has a great help, reflected in a lot of things on the concept of value.

Later, learning Android, although did not do anything earth-shattering app, with PHP and mobile end to understand the development of mobile-related knowledge, and now there are occasional boring time to do a small thing.
Then learn python ... Now basically in the forgotten stage, learning Python was originally designed to do an open source ERP two development, and then after graduation, but now also occasionally use Python as a tool language to run some small script and so on.

Slowly seems to deviate from the subject, and then pull back. There are a lot of personal related experiences that are no longer described, and these are some of the most distant experiences that are now recalled.
I hope the above experience will be helpful to the main topic. About PHP Learning routes can also be easily found on the Internet.
Sina Blog has a relatively old article to summarize, quote:
1. Basic grammar is a boring thing.

2.php+mysql to make his own work, I'm glad.

3. Object-oriented It's so hard, but when you do, you'll be happy with OOP.

4. Design Patterns This part is a lot of people find it hard.

5. Template engine well-known smarty, can look at the official website of the manual or to some forums to download manuals

6. Two times development Like most forums, blogs are developed two times. Have discuz! , Wordpress,phpwind, etc.

7. Using the framework to develop such as: zendframework,yiiphp,qeephp ...

7. Study other people's code if you use the Smarty template engine for the 5th step, you can now read the Smarty code (assuming, 3rd, 4 steps is better), then read the 6th step.

8. Develop your own truly mature framework or PHP application

9. You will find that some things are not solved by the program.

10 research the lower level of technology, this is not a simple PHP programmer.

Of course, it's hard to complete the 10 processes above. But at least you have to reach the fifth step.

In addition, recommend the basic relatively good book

"HTTP authoritative guide" ([Mei]david gourley,[mei]brian totty,[mei]marjorie sayer,[US]sailu reddy,[US]anshu Aggarwal) "Summary Book Review Probation"

C and C + + classics: C Traps and defects ([Mei]andrew Koenig) "Summary Book Review Probation"

"Php+mysql Expert Programming" ([US] Cougeser (Andren curioso), etc.) "Summary Book Review Probation"

Advanced Programming in the UNIX Environment (3rd edition) ([Mei]w Richard stevens,[mei]stephen A. Rago) "Summary Book Review Probation"

"Linuxshell Script Raiders 2nd edition" ([Indian]shantanu tushar,[]sarath Lakshman) "Summary Book Review Probation"

I wish to be a good PHP player soon. Laxatives, I am also 23 years old, and then this kind of thing is not urgent, one step a footprint, slowly accumulate just fine
I have a habit, is very fond of writing convenient to work on some of the tools, 1.1 accumulation, very interesting PHP does not need any experience, write more code, do more projects, independent finish the whole project.
If you want to enter a big company, you should study the basic knowledge and learn the data structure and algorithm (though it is long time and egg).
Want to enter a small company when all-round chores do not need to reason too basic things, front end, back end, server management, mobile phone. It sounds like a dick, but it's a lot of time to crawl information on the Internet.

Above. Without him, only hand-cooked.
I also began to learn in the long run is certainly a good foundation, take the development of large companies better, to be proficient in more research, if it is more than the salary can enter a small company, but it is necessary to all aspects of the front-end design, background development, app and so on all-round not so proficient. The first answer, good nervous, want to quickly improve is to do more projects, research excellent Kaiyuan project or framework code, see the Cow People Blog
  • Related Article

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