search
HomeBackend DevelopmentPHP TutorialCareer planning - I have been doing PHP for 2 years, and I feel that I have encountered a bottleneck in the business direction and technical direction.

The original poster has been doing PHP development for 2 years. I have used the ecstore ecshop thinkphp Yii2 framework.
I have written API interfaces for H5 apps and done secondary development.
I have also read the source code of thinkphp lazyphp initphp framework. , I am also familiar with the workflow and principles of the framework
. Nowadays, it is difficult to improve my technology accumulation and business accumulation. I wanted to learn node.js
but I am not very interested in js. I usually work I also use the jquery library a lot, but native js
less. Now I don’t know what to do? Technical things are being updated significantly every year, and I’m a little afraid
that I will fall behind in 3 or 5 years. .Now I feel that apart from not being able to write PHP extensions, I have learned all the other aspects
and there is nothing to learn (the original poster is a very arrogant and proud person). As for the configuration of nginx and apache mysql, I don’t know anything about it. Redis mogodb ssdb Such a
key-value cache system, what kind of distributed, centralized, design model, separation of reading and writing, one master and multiple slaves, multiple masters and multiple slaves
, separation of dynamic and static, cdn acceleration, git is also similar I don’t understand, I can only use js plug-ins but don’t understand the principles at all, and I have a little knowledge of the http protocol
The concept of front-end and back-end separation is also vague. Whenever I make something in the company, I like to be complacent and have a sense of accomplishment. Little do you know that these little things are not worth mentioning in front of you. Saying it will only make everyone laugh. I don’t want to hang around, what should I do?

This question has been closed due to non-technical discussion

Reply content:

The original poster has been doing PHP development for 2 years. I have used the ecstore ecshop thinkphp Yii2 framework.
I have written API interfaces for H5 apps and done secondary development.
I have also read the source code of thinkphp lazyphp initphp framework. , I am also familiar with the workflow and principles of the framework
. Nowadays, it is difficult to improve my technology accumulation and business accumulation. I wanted to learn node.js
but I am not very interested in js. I usually work I also use the jquery library a lot, but native js
less. Now I don’t know what to do? Technical things are being updated significantly every year, and I’m a little afraid
that I will fall behind in 3 or 5 years. .Now I feel that apart from not being able to write PHP extensions, I have learned all the other aspects
and there is nothing to learn (the original poster is a very arrogant and proud person). As for the configuration of nginx and apache mysql, I don’t know anything about it. Redis mogodb ssdb Such a
key-value cache system, what kind of distributed, centralized, design model, separation of reading and writing, one master and multiple slaves, multiple masters and multiple slaves
, separation of dynamic and static, cdn acceleration, git is also similar I don’t understand, I can only use js plug-ins but don’t understand the principles at all, and I have a little knowledge of the http protocol
The concept of front-end and back-end separation is also vague. Whenever I make something in the company, I like to be complacent and have a sense of accomplishment. Little do you know that these little things are not worth mentioning in front of you. Saying it will only make everyone laugh. I don’t want to hang around, what should I do?

When similar questions are asked, I have a strong desire to answer them carefully. But when the question is asked in such a way, I just want to rant

The subject’s situation is completely a psychological problem. While saying that I have learned too much, I actually understand in my heart这些小东西在你们面前根本不值一提说出来只会让大家笑掉大牙. While saying that it is difficult for me to improve, I can also list a lot of things worth learning and understanding 似懂非懂, 只会用根本不懂原理. To put it bluntly, this situation is called savviness. You clearly know that your skills are poor and you are too lazy to learn, but you still anesthetize yourself with the idea that "you have learned too much and it is difficult to improve."

So I only have one suggestion:

Face yourself and recognize yourself

There are so many built-in functions in PHP that you can never say that you know them all, let alone being proficient in using them to solve problems. There are so many extensions in PHP that you can never say that you know how to use them and you can understand each of them. The meaning of the parameters. I have been working on PHP for ten years and I still dare not say that I am proficient in it. My friend, there is no limit to learning!
Most people who engage in programming, and even people in other industries, tend to make a mistake. They just think they can do it, and don’t expect to be perfect. But there is no knowledge in this world that can be touched upon. It's a bit like digging a well. If you always dig shallowly and can't see any water, you feel there's no need to dig deeper, so you dig somewhere else. This kind of person can hardly see water flowing out even if you dig the ground into a sieve. I see that you have mentioned so many concepts, and I guess you only know the surface of each concept but not the depth, so what is the use of learning it.

As for nginx, I don’t know anything about the configuration of apache mysql, redis mogodb ssdb, such a
key-value cache system, what kind of distributed, centralized, design mode, read-write separation, one master, multiple slaves, multiple masters More from
, separation of dynamic and static, cdn acceleration, git is half understood, js plug-in can only be used and the principle is not understood at all, http protocol is also half-understood, and the concept of front-end and back-end separation is relatively vague,

Now you can start learning relevant knowledge based on the nouns in this passage

During the bottleneck period, breakthrough means qualitative improvement, otherwise we will always be here.

There are no shortcuts. I suggest you change your mind and learn a new language or technology. Use java, try nodejs, try ruby ​​on rails (the idea of ​​​​this is really great, after learning it you will understand why laravel is so good). Or play with Adruino and Raspberry Pi, in general, to stimulate yourself to keep improving. I have a similar feeling to you... If you really can't find the passion for technology... then this path may really not be suitable for you.

I think you should consider changing careers as soon as possible.

After reading your description, I don’t think you have finished learning PHP. Have you ever written your own framework? Just reading the source code of other frameworks is not enough. You can only design the architecture and implement a framework by yourself. It can be considered that you can barely enter the ranks of senior PHP engineers. Then if you can write an open source PHP framework that is used by more than a thousand people, it will be considered a step up. The road after that will be even longer, just two years. I have experience in PHP development. After reading some framework source code, I would be a bit impetuous if I said that I have learned PHP to the end.

Thanks for the invitation. You need to study carefully and calmly. It's not that you encounter a bottleneck, but that you are impatient.

The best language is not for you

We are almost the same. I have been working for nearly 3 years. I have played with all the nginx, redis and database things you mentioned. Now switch to node.js. To be precise, react, these things. It feels like I have a new way of thinking, which is quite fresh.

Personally, I think you can start from the following points:
1. Learn C language and data structure. After all, these two are the basis of many languages.
2. Learn mysql, sql optimization and database management.
3. Learn Redis in depth and MongoDB, a database based on distributed file storage.
4. Learn Nginx and Apache in depth.
5. Participate in open source projects.
6. Get more exposure to high-concurrency scenarios and solutions.
7. Learn languages ​​other than PHP, such as Python, Ruby, etc.

Learn Linux, write your own PHP framework, design patterns...

No wonder the recruitment requirements now state that they require two years of PHP work experience. Those with less than two years and more than 6 years are not required.
In the foreseeable 3-5 years, front-end solutions such as angularjs/react/vue can be solved The solution will replace the working background of the PHP backend template and only need to output json api. In the network environment where more and more mobile terminals are connected to the network and the amount of concurrency is increasing, the api made by nodejs/golang/java It is obviously better in performance and maintainability than PHP, so if you only write PHP, no company will use PHP that is more than 6 years old

You will know where you fall short if you go to a big company

Learning Linux, very interested

I have also been working in PHP for two years. Maybe I am not as proficient in PHP as you are, but I feel that I have to learn too many things to do PHP. First of all, I know a little about lamp configuration, mysql optimization, and nginx configuration, but I can’t say I am proficient in them. . I've been learning JavaScript recently, and I feel that full stack is my direction.

I suggest you find some open source projects to work on first, see where your strengths and weaknesses are, and then make further plans.
For example, I have an open source project of my own that is short of manpower. I welcome you to participate in the development.

Oh my god
I don’t understand linux nginx mysql git redis
How dare I say I’ve learned too much?
Although these are not PHP’s own technologies, doing PHP development means dealing with these
In addition, I don’t believe that the original poster can completely understand laravel

My personal situation is probably a bit similar to that of the original poster. I usually do secondary development more often. I am proficient in using the company's products for secondary development, but I know it but don't know why. I am stuck at a stage that needs to be improved to a higher level. Now I plan to Let’s learn about design patterns

Do you know the following?

<code>基础:HTML教程,PHP 教程

进阶:SQL 教程,MySQL 教程

高级:正则表达式教程,Mongodb教程,AJAX 教程,JSON 教程,XML 教程,消息队列,全文检索

http://www.rm5u.com/more/study-path/</code>

Wow, I didn’t expect that someone would answer this kind of question only>.

Haha, I feel like the original poster is here to be cute.

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
php怎么把负数转为正整数php怎么把负数转为正整数Apr 19, 2022 pm 08:59 PM

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

php怎么实现几秒后执行一个函数php怎么实现几秒后执行一个函数Apr 24, 2022 pm 01:12 PM

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php怎么除以100保留两位小数php怎么除以100保留两位小数Apr 22, 2022 pm 06:23 PM

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php怎么根据年月日判断是一年的第几天php怎么根据年月日判断是一年的第几天Apr 22, 2022 pm 05:02 PM

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php怎么判断有没有小数点php怎么判断有没有小数点Apr 20, 2022 pm 08:12 PM

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

php字符串有没有下标php字符串有没有下标Apr 24, 2022 am 11:49 AM

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php怎么替换nbsp空格符php怎么替换nbsp空格符Apr 24, 2022 pm 02:55 PM

方法:1、用“str_replace("&nbsp;","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\&nbsp\;||\xc2\xa0)/","其他字符",$str)”语句。

php怎么查找字符串是第几位php怎么查找字符串是第几位Apr 22, 2022 pm 06:48 PM

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)