W
W
whatever732015-03-22 16:38:06
CMS
whatever73, 2015-03-22 16:38:06

In what direction to move on to become a full-fledged PHP developer?

Hello.
I'm 19, I've been programming since my first year, at the beginning I was C # and C ++, I recently decided to delve into the web.
Mastered HTML + CSS pretty quickly, then mastered the principles of php + mysql, studied javascript and jquery at a basic level, understood why ajax is needed. After I tried to install popular CMS (Joomla, Wordpress etc) and PHP frameworks (CodeIgniter, Yii), I realized what is the difference between cms and frameworks. True, I could not write anything on these frameworks, I decided to study OOP in php5. I started reading Matt Zahnrstra's book Objects, Patterns and Programming Techniques.
After the hundredth page, I decided to see what is required of freelance PHP coders. I got upset when I saw that most of the orders are related to Wordpress and other popular CMS. I started to google and learn how to dig and change something in these CMSs. As a result, I realized that everything depends on the knowledge of their internal APIs.
All day I was doing the latter, I wrote the simplest plugin for wordpress (adding certain information and a parameter through the admin panel and displaying information depending on this parameter on the page through a shortcode), completely forgetting about the book on OOP. Yes, and the code in this under-plugin was terrible: I realized that I can’t separate logic from presentation, and decided to recall Yii, which I recently abandoned.
I started reading manuals on the framework and MVC in general, but I reached the maximum - I understood how the controller, model and display work, but the understanding is not deep at all.
Now I understand that after a whole day of shitty code for wordpress, in which html, php and js were mixed - I can not rewire my brains to work with a more correct approach (mvc).
And I'm confused. The fact is that the root of my frequent "jumps" here and there is the desire to achieve a good level, and most importantly, to be able to freelance / work remotely (I live in the outback) by the end of the university (4th year). I'm afraid for the remaining 2 years of my education I won't become a more or less normal developer who can already do certain things and earn money.
And this fear leads to the fact that I do not have my own "work program", there is no clear understanding in what order and what I should study.
Sorry for a ton of text, but I would like to ask you, experienced developers, to tell me at least a slightly built "path" - in what order to study this or that, so as not to stand in one place, given what I described above? Thank you very much in advance.

Answer the question

In order to leave comments, you need to log in

14 answer(s)
R
Ruslan Sadikhov, 2015-03-22
@fsdsdfsfdsfsdfsdfsdfsdfsd

Do not use frameworks in general and ready-made engines and become successful.
And to shit that someone needs all sorts of Yii and other rubbish. Create your project and work for yourself.

I
index0h, 2015-03-22
@index0h

Look towards Symfony
Urgent: either get a job or freelance. Your task is to gain experience and a cute resume. Don't go to the web-studio, you will go dumb. The optimal term of work in the company AND for the programmer AND for the company is 2 years.
18962034_moj-diplom-pozvolil-mne-nachat-

R
Roman, 2015-03-22
@Exotic33

Everything is simple. Rebuild your life scheme, throw everything that interferes out of your head, and start learning. This will help you with courses, books, webinars and other resources that are literally a second away from you.
For example, my first book was written by Kevin Yank, and it gave me that little piece of knowledge with which I started my journey. Then I moved on to HeadFirst, but after a quick glance at the content, I didn't get past the first chapters - wasting 700 pages just writing my first regular expression at the end? Unfortunately, it has been a long journey. Do not read books on PHP at all - everything is in the docks. (Before that, I also worked in C# and even in C++ Builder 6, and to be honest, once it seemed to me that the latter was a good thing. Until I finished writing programs for my classmates :D)
For a month, taking notes daily and taking practical courses, I made up my layout in CSS3, HTML5, etc. Then I switched to php. It was difficult to start, I could not take it as freely as other languages. Therefore, I returned to the courses, where, using the examples, I "cooked" my simple store with a basket, catalog, orders and admin panel without any prompts. And all this in 2 months, spending 3.5 hours a day on it. For the general plan, I advise you to be equal to the vacancies and draw up a plan based on the requirements.
Maybe my answer will seem too redundant and tedious, but my advice to you is to go towards your goal gradually, in small steps;)

R
Roman Scriabin, 2015-03-23
@Romanche

I can give you advice based on my personal experience of starting my interesting story.
1st, 2nd year - I tried to study at the university, in some places I tried to freebie in some places ... I dropped out of the 3rd year for family reasons, or rather switched to part-time and eventually ended up in the army. Before the army, I didn’t imagine myself as a coder or a piece of iron at all, although I studied at VT. As a result, after the army came the realization that you need to study. Interested sites. Well, it got really interesting for me. I did not want to be a loader, I continued my studies at the correspondence school, surviving with earnings of various types and at the same time plunging into the basics of layout.
Everything started to be studied normally when I told a friend that I was learning to make websites and he gave me the first order. Naturally, I had neither practice nor experience, but I took it. We made a TOR with him. We detailed the development plan and the stages of reporting. As a result, after 2-3 months I implemented my first site in php + mysql + html + css. He certainly was not perfect, now I can honestly say that it was kaka ***.
But still, the moral of the whole fable is this - set a task, set deadlines, stages for yourself and "write code". The experience and quality of the code itself will not work out. And the higher and more serious the goal, the better the result. Good luck.

I
Ivan Soshnikov, 2015-03-28
@soshnikov

The best PHP developer development program is to give up the idea of ​​becoming a PHP developer.
Look towards Python, Ruby, ASP.NET, Java and forget PHP like a scary horror movie. Don't ruin your life.

S
Stanislav, 2015-03-22
@mzcoding

Everything is simple.
First of all, I want to say do not listen to those who scream that you must be able to write under WP / Joomla and other shit-cms. The second one is for those who shout that frameworks and third-party libraries are not needed.
Once you took up PCP - you chose the right book, read it to the end, re-read what is not clear .. Then the manual and practice. Write your bikes first (for practice). Create an account on github, post everything there, don't be afraid of criticism and listen to it. When you more or less understand how the application structure is built, how various patterns work, etc. Start looking into someone else's code. We already wrote above about writing bicycles - this is not the right approach, even if you do not work as a web developer, but just want to write your own project. And that's why.
- Any library / framework is well tested by professionals
- Using third-party developments speeds up development time (you won't lose a year or a year and a half to develop one project)
- Easy to integrate into a team or find a team in your project
The easiest framework for a beginner to learn is Codeigniter or Laravel (4 branches)

A
Alex, 2015-03-23
@aimp-programming

Why PHP? explain to me!!! There are other wonderful languages ​​and technologies for the web, like Python, Ruby, ASP.NET MVC (you learned C #), JAva... And you are fixated on the worst..

S
Stac, 2015-03-26
@Stac

Join aimp-programming.
PHP is a great language to dig into Wordpress and do all sorts of goodies and goodies for Freelancing Clients.
PHP is well suited for prototyping and other tasks that need to be done quickly.
There are strange guys who try to drag any of the other languages ​​\u200b\u200binto PHP into PHP, so OOP appeared and develops in it.
But why do you need it if you know C#?
1) Learn ASP.NET MVC - everything is clear, strict and object-oriented there.
2) Upgrade your business communications skills (business letter, public speaking, presentations) - and you will be able to sell your knowledge and skills to Clients, most of whom do not care about the stack and its technologies, there is only a business problem that needs to be solved.
3) If you want to develop in PHP - write your own framework, CMS on it and sell several projects. After that, some understanding of further actions will appear.
ps Example: I recently made an XLS price list generator for a Joomla site. No one was particularly embarrassed that I did not know Joomla, either as a user or as a developer (although, of course, I warned about this). The main thing is the solution of a business problem.

U
ummahusla, 2015-04-02
@Antonoff

I can share my experience as a junior. I graduated from Software Enginner in England, but from the 2nd year I decided I didn’t need this Java and C, and went completely into the web, started with the basics of HTML / CSS / PHP / MySQL, then the teacher advised me to start freelancing fiverr.com interesting site where a lot of different services and all for $5. I got shit experience and I don’t do freelancing anymore (as I graduated from the university and found a job), because during freelancing I did different garbage and didn’t learn to code. I did a lot of different kinds of my "projects" on different engines. Can't say it's a bad experience, but still. Looking at life and how other programmers develop, I still feel like I'm doing something wrong.
It seems to me, cool your ardor and stock up on patience. Just write down on paper what skills you need to learn in the next 2 years. Write out the basics and priorities.
I would advise on my crappy experience to learn either JS or PHP to a mega cool level and all the consequences.
If you take PHP to it, take the MVC CI framework is not bad.
If you take JS to them, take AngularJS or NodeJS + ExpressJs and make web applications.
To everything, of course, use git and take foundation / bootstrap as a css framework.

Y
Yago, 2015-03-22
@Yago

This requires real experience. To develop well in Yii, you need to work with it. To be well versed in the CMS, you need to solve the tasks on this CMS. And artificially tortured experience will even be harmful in this situation, because it will become far from real programming, and you will need to relearn to perform real tasks.
I would look in the direction of either my projects, letting them analyze their pieces of code on specialized forums, so that people would suggest why it can be done differently and better, or in the direction of a junior joining some web studio, under the supervision of more experienced colleagues.

O
Optimus, 2015-03-22
Pyan @marrk2

You decide what you want: money or write beautifully and validly? These directions do not always coincide. If there is money, then this is freelancing and the main thing is that it would work. On the same Yii, you can pile up such that anyone who sees the code will grab his head. Do you want to work for big companies? Then you have Symphony, Zend and something like that. Work in hiload? Then towards a DB the bias should be done. Your projects? Then Ruslan correctly said - write as you want and it's somehow strange for one developer to return to OOP.

V
Vladimir Shiklgruber, 2015-03-22
@aaadddminnn

Well, ask for someone in June. for freelancing, it's too early for you. You just work for a second month with someone in the team for free (or even you will be asked to pay for training) and then freelance

A
Anton Alekseev, 2015-03-26
@orangeShadow

The more work, the more experience, and in general, the main thing is to be able to read manuals and write correct queries in a search engine. And don't be lazy! You choose how much time to spend on programming? it's probably not for you.)

R
ruslan2243, 2015-04-05
@ruslan2243

Like I did before. I just looked at the tasks, chose interesting ones for myself, offered to complete them. And in the process of implementation, I studied, looked for solutions. Then I started working with the same people. The tasks became more complex and interesting, the load on the brain and learning increased - experience, knowledge, and payment grew.
Conclusion, take it and do it! I also tried to learn everything, grabbed everything - this is a useless exercise, because. Without practice, knowledge disappears.
As an option, in the process of studying, make your own portfolio website and publish everything there. Then with this freelance portfolio site, there is already something to show. And take on projects that you can do, even if you don’t know everything. You will learn in the process.
And frameworks / non-frameworks are not important, the main thing is experience. Experience will come, you will understand what you like. And choose a direction.
When you know where to move, there is no need to grab everything.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question