What is full stack? The so-called full stack means having the technical capabilities of [front-end and back-end] at the same time! For beginners, full stack is a proud title. For mature engineers, full stack is a derogatory term in most cases. Why?
Front-end and back-end are each a technology and discipline, so the true attitude towards learning WEB development should be to delve into a technology, which is also what enterprises need. In this era, the title of full stack has gradually been replaced by Scorned by enterprises (except small companies, small companies not only require you to know the front-end but also PHP, and even leave the art to you, they think you are an all-rounder)!
If you want to work as a front-end development engineer, it is recommended not to learn PHP, just master the front-end; if you want to work in PHP website development, then the front-end must be learned, you don’t need to study in depth, as long as Just know how to do simple front-end layout, and focus on PHP programming!
So what is the relationship between learning PHP and the front-end? Where should I start learning? Let me give you a picture first so that you can have a perceptual understanding!
1. The relationship between front-end and back-end
1. Horizontal classification
Front-end: HTML, CSS, JavaScript
Back-end: PHP, MySQL
2. Responsibility classification
HTML: Responsible Web page structure part
CSS: responsible for web page layout and style part
JavaScript: responsible for web page program logic, dynamic rendering and special effects part
PHP: responsible for server-side logic and database operations Part
MySQL: Responsible for data storage part
3. Analogy between learning technology and people
01. First of all, people must have a basic composition (Head, body, arms, hands, legs, feet)
-> Learn HTML
02. Secondly, people must have an orderly arrangement of all components Combination and dressing (combining various parts into a body and putting on clothes)
-> Learn CSS
03. Secondly, people need to have some logical thinking. Support people’s ability to move (eating, sleeping, exercising, etc.)
04. Thirdly, people need to have the ability to use their brains to think about problems (such as Learning, problem solving, ethical behavior, etc.)
-> Learning PHP
05. Finally, people need some reserves of knowledge and information to arm themselves and become a competent person. Able and well-educated people
-> Learn MySQL
##2. PHP full stack development engineer learning sequence
Basic learning sequence: HTML/CSS -> JavaScript -> PHP/MySQLIf you lack self-study ability, it is recommended to sign up for a class: php Chinese website For VIP membership courses, front-end and PHP can be learned separately. The registration address is: You can also choose to live online classes For full-stack learning, the registration address is:1. Learn HTML/CSS in one stage: Structure and style must be learned together to have an intuitive sense.
PS: You must first understand the basic tags of HTML! It is also indispensable to make the first screen of JD.com and Taobao after learning, I can’t do it! Pick your head out and rub it out for me. This is the only way to go. Feel sorry! There’s pressure on you!2. Learn JavaScript alone: (The front-end that can’t be hurt appears at this moment)
JavaScript is a difficult language! ! No matter how mature and awesome the front-end engineer is, he will say the same thing. The reason is because it is very flexible. Everything seems to be correct no matter how you write it, but you just don’t know how to write it. Do you feel the same way? He is divided into three parts: 01, Anyone who knows the art knows that ECMAScript is the most difficult for beginners Part, what scope, what prototype prototype chain, what closures, what object arrays and a lot of things. If you feel that JavaScript is too easy when you are learning it, I'm sorry, I can only suggest that you learn it again. Learning ECMAScript takes the longest time. 02, DOM is not simple, because... there is also a lot of content, such as traversing the tree, nodes, elements, etc. A lot of compatibility packages, what bubbling capture event proxy, what mouse and keyboard behavior, what dragging, what mouse behavior prediction, what double-click, a lot of packages, what DOM event processing function logic, a lot of cases are waiting for you Do. 03、BOMBOM is relatively simple, and there is not much to master. Let me emphasize that it is not useless, but the compatibility is not good. After all, it is an orphan and there is no standard, so you can only use it, but you can't ignore it. Learning single page applications.
3. Learn PHP and MySQL together
After you understand the basic syntax of PHP, you may want to do something.
Then you have to mess with the data. Without data, there will be no project, you know.
3. Summary
If you specialize in the field, if you spend time studying front-end technology, your back-end capabilities will definitely be inferior, and vice versa. Of course. Don't say that you have to spend a lot of energy to learn. A front-end or back-end alone is enough to learn it (I don't dare to talk about time here).
In order to complete a complete project, beginners will quickly learn all the technical points they need on the front and back ends, but both the front and back ends are the same technology.
First of all, the maturity of any developer's development technology depends on a solid theoretical foundation and business experience. Therefore, it is often difficult for self-taught developers to be qualified for enterprise development tasks. Any enterprise needs to be easy to read and maintain. , easy to expand, and scientific project structure and code. However, learners who often lack theoretical foundation and business guidance have difficulty in developing projects to meet the above requirements. This also leads to the situation that self-taught beginners are always in a dilemma. In the state of "full stack self-pleasure". But everyone knows that the appreciation of the whole stack has misled me and turned me into a non-professional and non-professional code producer.
Secondly, it is difficult for learners who lack a solid theoretical foundation to understand more advanced technical points, such as currying, partial functions in functional programming, prototypes, closures, Holy Grail patterns in ECMAScript, etc. etc., which hinders learners from further improving their development abilities.
A mature engineer would never dare to say that he is a full-stack engineer, because he knows in his heart that my technical category is front-end, and I am professional in front-end. Even if I do know how to write PHP and Java, I will not I dare not say that I am proficient or that I can take on back-end work. This is the attitude of an engineer. There is a so-called specialization in the industry.