Here is a list of the things you should know to be a highly qualified developer today, in no particular order:
1.
A few base languages: This goes without saying, of course.
2.
The most popular framework(s) for your platform: For some languages like C# or Ruby, this is an easy choice since there is really just one used professionally. For others like PHP, this is quite a bit more complicated due to the massive amounts of frameworks. Large companies using PHP tend to use more the "old standbys" Zend, Symfony and CakePHP than the "bleeding edge" frameworks like FuelPHP, YII and Laravel that tend to be popular with open source developers.
3.
ORMs: Writing SQL queries into your source is now considered bad practice, and ORMs have taken over. For .NET, that is Entity Framework. Java has Hibernate. PHP of course has multiple choices, with Doctrine, Propel and
many others.
4.
Source control: You should be comfortable using at least Git and a more traditional source control system like Subversion.
5.
Unit testing: Unit testing is getting more and more popular these days, and you will come across many development companies who require tests for all new code, or those that may even practice Test Driven Development (TDD).
6.
Common design patterns: These have become the common lingo of professional programmers. You don't really need to commit every line of code to memory, but you should know what the patterns in the
Gang of Four book are from a high level and when they would be helpful so you can Google the code and use them.
7.
Package managers: These are rapidly becoming more popular. NPM for node, Nuget for .NET, Gem for Ruby, etc. As usual, PHP has several different choices, but
Composer is rapidly becoming the de facto standard. These not only help you to easily download libraries and frameworks right into your project, they usually contain tools to automatically help you maintain your dependencies, from automatic updates of all the packages used in your project to quick dependency checks and installs (for example, you download package C that itself depends on packages X, Y, and Z, and the package manager picks that up and automatically installs X, Y and Z for C to work correctly). This is the best way to share libraries and classes today.
8.
Agile Development: This is a development methodology that many companies use now. It is a set of practices that attempt to alter the software development cycle to better match modern problems.
There is probably more, but that is what I can come up with off the top of my head.
However, I don't personally believe that PHP is a good language to learn these things. This is mostly because PHP is just drowning in choices. There are dozens and dozens of frameworks, ORMs, package managers, etc. I think a better option is to learn these as a cohesive whole in a full-stack platform (a platform that provides all the official pieces, from the framework, ORM, package manager, unit testing, etc.), such as .NET or Ruby on Rails. Once you get the hang of using these pieces in a full-stack platform, adjusting to and objectively judging the options available on wide-open platforms like PHP to choose the pieces you want to bring together will be much clearer. It would also help you to better be able to quickly pick-up new things you will inevitably have to handle being a professional PHP developer, since you may end up having to change frameworks very, very often with PHP.