I heard of frameworks like Ruby and cakePHP (correct me if I'm wrong). So should I proceed to learn them?
If so, which one is the more preferred among PHP developers?
I heard of frameworks like Ruby and cakePHP (correct me if I'm wrong). So should I proceed to learn them?
If so, which one is the more preferred among PHP developers?
You'd probably first want to find a project you wish to work on. Whether it is a personal or a community project, find out what interests you and begin to build it.
Once you've decided on a project, you can pick a framework that you want to work with, and you'll learn it much more effectively than you would ever learn it almost any other way.
You can look at this question to find out some frameworks that other developers enjoy using.
You might also want to look into learning coding theory over simply frameworks. Things like design patterns, object oriented programming, and other practices are very good, and will let your coding span across languages, as they deal with ideas instead of specific code.
You can find a lot of good information on coding theory and best practices simply by going through the top-voted StackOverflow questions. Once you get past all the cartoon posts, you can see some topics that might be interesting to you, such as code smells (you need to know them to avoid them), RSS feeds for programmers, pieces of advice from programmers, and so on.
You can also look at people who are in the same, or a very similar boat as you. The self-improvement
tag is filled with questions of people are looking for ways to improve themselves. Here are some examples:
Finally, you might want to try answering some questions on StackOverflow. By teaching others, you can often learn a lot about stuff you already thought you knew.
This is coming from experience too. If you look at my list of answers, at this point I've answered around 430 questions, and from those I've gained a great amount of knowledge, as I've had to research each question and make sure I understand the subject before answering.
Furthermore, while answering, you are bound to come onto some interesting questions. All of my favorite questions are ones that I have learned something new from, and right now I'm up to 6 pages.
Learn other environments. Learn C#, learn Java, learn design patterns and OOP. Don't limit yourself to PHP. Frameworks are only helpful in keeping your code clean and doing aspects for you.
There is a very handy site: www.phpframeworks.com which ranks several frameworks based on various features.
Obviously there is no right answer on where you should go next. You could go with learning another Web Development language, like Ruby On Rails; you get more into databases or client-side scripts; you could decide that you want to move beyond web development and more toward traditional software development; you could become a PHP guru and develop your own libraries. Really it depends on what you really feel excited about and strong about with what you already have learned with PHP.
I would check out that site to explore the many different approaches to frameworks. There isn't one perfect one, just ones that are best at meeting certain needs.