A
A
alexvagner2012-12-16 03:29:29
PHP
alexvagner, 2012-12-16 03:29:29

Question about learning PHP?

Recently started learning programming, decided to learn PHP. At first everything went fine, but recently I began to notice that I was marking time. I read several books (started with “Head first PHP”, then read “Practical PHP programming”, now I read “PHP & MySQL web development” and “PHP. Objects, patterns and programming techniques”. Studied syntax, standard functions, classes with objects , working with sessions, forms, files, databases, etc. In a word, almost everything that I could glean from textbooks and language reference.Nevertheless, I feel that this is not enough: the basics have long been passed, and there is no way to move What to do, Habr? Based on your own experience, can you name the stages of learning programming?

Answer the question

In order to leave comments, you need to log in

6 answer(s)
A
Anton Piskunov, 2012-12-16
@antonydevanchi

Learn the framework: CodeIgniter, Yii, Symfony.
Write a CMS/CMF tailored to a specific task: store, blog, etc.
These two sessions should be enough for the next two to three months. When you get bored, join some open source project like Yupe (CMS based on Yii).

A
antonzaycev, 2012-12-16
@antonzaycev

Start solving real problems and do real, albeit not big, projects and keep growing

F
Flasher, 2012-12-18
@Flasher

As an additional question to the topic of the author. Starting to learn the same PHP, people take books that describe the basics, but do not describe where it is applied in practice. I am an example. I start learning from scratch and understand, and sometimes I memorize and analyze examples, but I have no idea where this can be applied in practice when creating websites. It would not be bad if seasoned programmers suggested steps that would encourage study, and not kill hope.
For example, tell me, is there such a resource on which real codes from life are chewed: forms, etc.

R
R0ckwi11, 2012-12-20
@R0ckwi11

Register on github and read sources, write sources, fix bugs and send pull requests

D
Dunadan, 2012-12-22
@Dunadan

As correctly answered above, it's time to move from theory to practice - to solve applied problems. After all, language is just a tool.
In general, the professional growth of a programmer must go in two directions: technological and theoretical.
For example, in order to evaluate technical knowledge, you can ask yourself and honestly answer:
- For which tasks is PHP suitable, and for which it is not? Why?
- Can I write a simple file manager? And so, what would not give access to system folders and files? Stop downloading malicious code?
— Will I be able to write a robot for parsing pages? And one that would be able to follow the links inside the pages? If we take into account many more encodings?
- Do I know about the concept of "vulnerability"? If I know, can I find them in my own old code?
- Do I know what a "regular expression" is, where they are used and, most importantly, why?
- Do I know about the latest changes in the language?
— Will I be able to write a simple chat? Guest book? Banner Roller? What will happen to them if 10,000 visitors enter at the same time and why? What should be done in this case?
The theoretical part is the question of the architectural design of software products, as such, and not necessarily about PHP. Sooner or later, a programmer has to participate in the construction of "large" systems and adapt some algorithms to solve problems and come up with his own.
If we are talking about popular algorithms, then we can advise such monsters as Donald Knuth and his "Art of Programming".
Model-View-Controller, Dependecy Ingection - this is what you should read about to understand the principles of modern application design approaches. Also read about "patterns" / programming patterns.
And try everything in practice, without it in any way :)

V
Vitaly Arkhipov, 2013-03-09
@arvitaly

Do not try to move into the deepening of language learning. Study architectures and principles of their construction.
The language changes from project to project, and even in one project you use several (JavaScript, PHP, Mysql, HTML, XML, CSS, etc.) and the surest way is to choose the right tool for a particular functionality. Somewhere it will be more profitable to use stored procedures, somewhere to describe the logic on the client, somewhere to implement interactive entirely in CSS.
Moreover, one day you will not have enough language features and when developing towards algorithms, you can easily implement an extension to PHP in C, for example.
Personally, I am against reading in advance. Set a task and only then look for ways to solve it on the Internet and books. And here it already makes sense to focus on the authoritativeness of the authors. So - set a specific task and ask questions already on it! Good luck!

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question