Doesn't learning PHP & MySql implicitly makes us aware of these frameworks?
Nope. As @GrandmasterB mentions it's possible to work with PHP without any kind of framework or any other third party library. Nowadays PHP includes a native MVC framework. It's still in its early days, and mostly undocumented, but it works (for basic stuff).
But, there is no reason at all to avoid working with a framework. A framework is supposed to take care of common stuff and let you concentrate on the important stuff. Some do it better than others, but in general it wouldn't hurt to learn one of the popular ones. A couple of related questions:
But try to avoid Zend Framework at first, as it's not an entry level framework.
Am I making a good choice in stating with PHP?
Yes. Compared to the alternatives:
- PHP is extremely easy to get the hang of,
- Is widely deployed, I have still to find one hosting solution that didn't provide PHP by default,
- Is web oriented, whereas most alternatives are general purpose.
- It's portable across operating systems and across web servers1,
- Its core is extendable via C and C++ (which you already know),
- The manual is fantastic,
- It's open source2,
- It has a large and vibrant community,
- It's the platform of choice for a lot of definitive web applications3
Not to say that many other platforms don't fit most of the above, but AFAIK PHP is the only one that fits all of them.
But there are quite a few traps:
- One of the reasons it's extremely easy to get the hang of, is that it allows a wide range of paradigms, doesn't enforce anything and it's completely up to you to follow best practices. There's no reason at all you shouldn't be able to write brilliant PHP code, comparable to brilliant Java or C++ code, but there is almost none of the common safeguards against, well, not so brilliant code.
- And because it's so easy and popular, it provides a sense of false confidence. The internet is full of crappy PHP code, that works fine but it's a horror to look at. And quite a few crappy "tutorials". It's up to you to apply good judgement and successively swim through the seas of PHP @#!$. When learning, that's quite a challenge.
Is it a good idea to shift streams?
That's unanswerable, it's definitely a risk. If it's one worth taking you'll have to decide for yourself.
Unfortunately PHP, MySQL, HTML and Javascript not a web developer make. There is a very long list of technologies and concepts involved, the accepted answer to the "What should every programmer know about web development?" question. It's a very scary list and of course it's impossible to know everything that's on it at first. But it's not the full list. You are not making a language shift, but a domain shift. The web employs an extremely wide range of technologies, and something new pops up every day.
And if that list doesn't scare you enough, I've assembled a few PHP specific ones, as answers to these questions:
It's going to be a very long road. To me it's worth it, but again you'll have to decide for yourself.
1 With minor tweaks across operating systems and not so minor but not that significant tweaks across web servers.
2 Which matters to me.
3 Examples: Wordpress, the most popular blogging platform, phpMyAdmin, the most widely deployed MySQL administration tool, and, ahem, Facebook.