I am a c/c++ programmer. I have also worked on a website where I used drupal. While using drupal I made some custom modules using PHP. So I am familiar with PHP but not an expert as drupal provided basic functionalities like user-login, session management etc.
At this time I want to learn web development thoroughly. I am making one website too.
If I start with some framework like “Zend”, I think, I dont get to know basics e.g. authentication techniques (this is my assumption). And I think I wont have much control over it.
If I start with my own then it will take much more time.
Should I use frameworks like “Zend” or start with scratch.
Normally when compiling a web-application you’re never developing everything from scratch but more like configuring a computer, you’re reusing existing components.
So if you’re looking for creating a web-app and learning all the details, I suggest you pick an open-source framework with an active development community and distributed version control so you can cook your own, profit from the masses, metric your code suggestion against the community and get review for your patches.
In short take symfony2 which is available on github. It has an active development community, can be easily forked and is flexible enough that you can cook your own as well.
And you can learn by reading existing code btw. It’s more important to “type” into your brain then to type into the computer. The computer should only be a tool that help you to get things done, normally your brain is capable enough to learn and understand things through imagination, only as last resort you should need to actually run a script to make the proof it works.