When you are first starting out you will find there is an overwhelming amount of information to learn. Planning out a roadmap will ensure that over time you will become an expert in anything you put your mind to. I recently was commissioned to do a PHP project for a local company and had to research out a certain module. Working and programming you will always run into some quirk that no textbook will tell you about and you will have to experience it first hand to truly understand how it works. If you keep to your roadmap you will run into these problems and solutions naturally as you progress. So without further adieu, here is a great road map I found on the web.

PHP programming
– PHP basics: variables, loops and functions
– Arrays (http://uk1.php.net/manual/en/book.array.php)
– File system functions (http://uk3.php.net/manual/en/ref.filesystem.php)

Font-end basics

Object oriented programming in PHP
– Classes and Objects (http://php.net/manual/en/language.oop5.php)
– Exceptions (http://www.php.net/manual/en/language.exceptions.php)
– Namespaces (http://www.php.net/manual/en/language.namespaces.php)

Database basics
– SQL basics (select, insert, update, delete)
– PHP PDO (http://uk3.php.net/manual/en/class.pdo.php)

– JavaScript
– jQuery
– Responsive web design

– XML & DOM (http://uk3.php.net/manual/en/book.dom.php)
– Regular expressions (http://www.regular-expressions.info/tutorial.html)
– SPL (http://uk3.php.net/manual/en/book.spl.php)
– Magic Methods (http://php.net/manual/en/language.oop5.magic.php)
– GD (http://uk3.php.net/manual/en/book.image.php)
– JSON (http://uk3.php.net/manual/en/book.json.php)

– Database design (http://en.wikipedia.org/wiki/Database_design)
– Indexing
– Maintenance (manage users, backups)
– SQL optimisation

Software design
– Design patterns (“PHP Objects, Patterns and Practice”)
– Algorithms and data structures (Introduction to Algorithms)
– Unit Testing (The Art of Unit Testing: with Examples in .NET)
– PHP Frameworks (one is enough)

Web application security
– MySQL injections
– Cross site scripting

Code managment
– Version control (SVN or GIT)
– Branching (http://nvie.com/posts/a-successful-git-branching-model/)
– Bug tracking (any available software)
– Coding standards (“Clean Code: A Handbook of Agile Software Craftsmanship”)

– Command line
– Installation and configuration of LAMP environment
– Installing PHP extensions

Apache web server
– Virtual Hosts
– MOD_Rewrite

Alternative storage
– Caching: Memcached or Redis
– NoSQL: MongoDB or CouchDB or Cassandra
– Search engine: SOLR or ElasticSearch

– OSI Model (http://en.wikipedia.org/wiki/OSI_model)
– TCP/IP protocol
– HTTP protocol
– Working with sniffers (tcpdump or wireshark)
– CURL (http://uk3.php.net/manual/en/book.curl.php)

Leading development
– SCRUM (“Agile Project Management with Scrum”)
– Leading (“How to Lead: What the best leaders know, do and say”)
– Test Driven development

Source: Improve your PHP skills