There is no limit on what you can achieve with PHP, and fortunately, it's one of the most straightforward programming languages to learn. If you are a novice programmer, then PHP can be your best choice as your first programming language.
So, how can you become a PHP developer fast?
You can't become a PHP developer in 10 hours or so, but if you would devote 2 hours a day, you can certainly enter the PHP programming world in two months.
What exactly is a PHP developer
PHP developers usually make websites. Websites can be of various types.
- They can be representational websites.
- Web-based applications.
- RESTful API services.
For now, don't worry too much about all these technologies, however, I would suggest paying some attention to HTML and CSS anyway. They are easy to understand and quickly learnable, and most importantly, for a web developer, they are required.
Where do I start
There's a good chance that you have already done some research about the subject. Sadly, there are a lot of “gurus” on the Internet, talking that you can become a PHP developer in an insanely short timeframe, like a single day or so.
Realistically speaking, software development, in general, takes some time to get started with. It's not a wall painting or ditch-digging kind of activity, where you almost can come and do the work without even thinking.
Fortunately, PHP programming language is painless to learn. Just do it in the correct order, and compartmentalize your mind. Here's a quick order that you should be relying on when starting with PHP:
- Don't wait for the perfect time
- Create yourself a comfortable environment
- Choose your PHP IDE
- Choose a direction
- Learn 1-2 hours a day for one month
Don't wait for the perfect moment
Don't wait and start now. The perfect moment won't come, because it doesn't exist. The easiest person to convince about something is yourself. You will always find a reason why you can't start doing the most important things now. The perfect moment is now, so once you start learning you'll get hooked-in straight away.
Create yourself a comfortable environment
Some people enjoy working in a noisy environment, some people prefer cafes, and others, like me, can't get focused without noise-canceling headphones, powerful laptop/PC/whatever, and without a comfortable desk. If you don't know yet your best place to stay focused and concentrated for 1-2 hours, experiment! Whatever works for you, find yourself a comfortable environment where you could spend some time learning every day.
Choose your PHP IDE
Theoretically, any text editor can do it, even the Notepad, if you are on Windows. However, you will soon notice that the Notepad isn't the best editor for programming, and you will find yourself that you don't want to get back to learning and open that crappy editor ever again.
In programming, as in writing perhaps, the editor you use matters. Editor's background color matters too, font size, and font color also matters. Everything matters.
In programming, as in writing perhaps, the editor you use matters. Editor's background color matters too. Font size and font color also matter. Everything matters. Try as many editors as you can, or like, and you will find the one where you will feel like home.
Here are some free, most popular IDEs for PHP you might like.
Best Windows-based editors for PHP:
- Visual Studio Code
- Sublime Text
Best Mac-based editors for PHP:
- Visual Studio Code
- Sublime Text
Best Linux-based editors for PHP:
- Visual Studio Code
- Sublime Text
You can try out all of them and make your verdict. I have multiple editors installed on my machine, they don't cost money, so why not keep them as long as you use them at least from time to time.
Choose your area of expertise
Unlike the .NET, with PHP, there's pretty much only one direction – web development. But then, you can choose your area of expertise, meaning, the area where you would like to become an expert.
There's not much of a benefit for you as a developer to only know the vanilla PHP. These times have long gone now. As a PHP developer, you have to master some useful technology or framework, based on PHP.
If you are passionate about e-commerce things, like creating e-shops for your clients or yourself, you can do this in two ways. First, is to write a personalized e-shop in PHP from scratch. Second, master an existing e-commerce platform.
Here are the most popular e-commerce platforms:
If you are passionate about content management systems, which will open vast career opportunities, you can learn them. Being an expert of some content management system, you will be able to get a very well paid job or create customized applications for your clients as a freelancer. Depending on your situation, you can go and write your content management system from scratch, or you can master an existing CMS.
Here are the most popular content management systems:
Lastly, you can choose to learn some PHP frameworks instead. That is something you will need to learn as a PHP developer anyway. If you look at any e-commerce platform or any content management system, they all most likely were written using their custom frameworks or were written using some popular PHP framework.
Here are the most popular PHP frameworks:
So there you have it. Choose and master something from this list of e-commerce platforms, content management systems, or PHP frameworks, and you will eventually become a good PHP developer.
Learn 1-2 hours a day for two months
Now, the most crucial bit. There's no single recipe on how everyone can become a PHP developer fast. It entirely depends on you. The more time you will spend on learning, the better. However, you shouldn't get mad about it, because you can get burnout, and lose the motivation for learning. To keep the equilibrium between life and training, I would spend no more than 2 hours a day.
Most efficient learning is when you read or watch the learning material and then apply the knowledge practically. So I would spend 1 hour on theory and 1 hour for practice. Never ignore the practicing part, even though it seems very simple.
Key responsibilities of a PHP developer
Responsibilities will vary from company to company. It will also depend on the seniority level of the developer. In essence, there are three seniority levels: junior, intermediate, and senior. We will demystify all three levels by referencing real job descriptions of a PHP developer, so you will see the difference.
An example of the responsibilities of a junior PHP developer:
- Designing and implementing new features and functionality
- Establishing and guiding the website’s architecture
- Managing website hosting, email hosting, email installation and configuration, domain name renewals, domain purchases, and maintaining website security
- Ensuring high-performance and availability, and managing all technical aspects of the CMS
- Helping formulate an effective, responsive design and turning it into a working theme and plugin
- Maintenance and continuous development of an ecommerce website
- Regular exposure to business stakeholders and executive management, as well as the authority and scope to apply your expertise to many interesting technical problems
- Website regular backup, website migration, and maintenance
- Fixing bugs and website errors, troubleshooting plugin problems, helping fellow team members and graphic designers
- Creating reports and statistics for website, facebook pages, and mobile apps if needed
An example of the responsibilities of an intermediate PHP developer:
- Collaborating with design, strategy and SEO teams to find solutions for client website projects
- Installing multi-site WordPress builds
- Custom web development
- Integrating with third-party APIs
- Customizing WordPress to support specific functionality
- Integrating shopping carts
- Building out responsive layouts
- Front-end web development
- Stay plugged into emerging technologies/industry trends and apply them into operations and activities
- Cooperate with web designers to match visual design intent
- Designs and develops application development plans by setting expectations and feature priorities throughout the development life cycle
- Integrates applications by designing a database architecture and server scripting; studying and establishing connectivity with network systems, search engines, and information servers
An example of the responsibilities of a senior PHP developer:
- Identify user and system requirements for new websites and applications
- Prioritize software development projects, set timelines and assign tasks to team members
- Create wireframes to decide on layout
- Write or review code for various applications
- Run functionality testings and debug code
- Oversee junior web developers and evaluate their performance
- Liaise with designers to decide on UI/UX elements (like graphics and navigation buttons)
- Ensure our software documentation is up-to-date
- Collaborate with mobile developers to build mobile-responsive websites
Now you should see the difference between the seniority levels of a PHP developer. I have taken these lists of responsibilities off real job descriptions. To become a junior PHP developer, you don't need to be a wizard. All you need is just pretty much a common sense, basic knowledge of the programming language, and related stuff like some database knowledge.
Intermediate developers will be more involved, and they will be expected to have quite good knowledge of specific technologies. They will be confident and be able to collaborate with other teams or team members.
Senior-level developers will be able to lead the projects. They will also have a broader vision of how everything fits together and why. Senior-level developers will be able to do code reviews and mentor less experienced developers.
You should see now that to become a junior PHP developer is not hard at all. Two months of learning and four months of creating your projects' portfolio, that's all it takes to enter the PHP developer world.
What basic skills do I need to become a PHP developer
As it is not possible to define a skill set that will be suitable for every company as it varies from company to company or client to client. Instead, I will determine the necessary skills for every PHP developer.
HTML and CSS are must-know technologies for any web developer, including PHP developers.
HTML is a markup language used to create web site's layout, forms, buttons, input fields, and anything else you may see on the web page.
CSS is a technology that will always go along with the HTML. It is used to give a style to the HTML elements.
In essence, for your very first steps, you will need to get familiar with the term LAMP. I will give you online course recommendations to learn the LAMP stack very fast.
This is all what it takes to become a junior PHP developer.
Once the basics learned, I will give you other course recommendations to learn content management systems, e-commerce platforms, or PHP frameworks, depending on your interests.
What is LAMP
LAMP stands for “Linux”, “Apache HTTP server”, “MySQL”, and “PHP”. This is a stack of 4 technologies that pretty much any PHP developer knows quite well.
The “Linux” part is not essential to be able to start learning PHP, but in the future, you will need to have some Linux knowledge at least to be able to set up, run, and debug your applications. Luckily, you can run PHP applications on any operating system. Just keep in mind that most of the time, PHP applications are hosted on Linux servers.
The “Apache HTTP server” part is essential. Simply put, it's a technology that runs your PHP code or the website if you like, so your website becomes reachable via the browser.
You have probably noticed that when you visit some website, in the browser in front of the web site's URL, there's usually an ‘HTTP' or ‘HTTPS' bit. For example: ‘https://google.com'. This means that the website is running in the HTTP server, which often is an Apache HTTP server.
The “MySQL” part is a database technology. In essence, it's not required to begin learning PHP as long as you don't want to persist any of your web site's data. But in reality, the only websites that may not require a database are the representational websites with just static content.
The “PHP” part is the rock star here. PHP is a programming language and is the most important in the LAMP stack.
What is the best way to learn HTML and CSS
Forget about books or online text-based tutorials! Nothing can be more time consuming than that! Online courses are the way to go. You want to learn fast and get the quality knowledge, right? You can check my previous article, where I linked to FREE quality courses on HTML and CSS.
What is the best way to learn (L)AMP
I will give you two recommendations for courses, but you will need to choose one based on how you feel about your PHP programming knowledge.
[wpsm_offerbox button_link=”https://www.udemy.com/course/php-for-complete-beginners-includes-msql-object-oriented/” button_text=”Visit course” title=”PHP for Beginners – Become a PHP Master – CMS Project” description=”This is the only course you need to become a PHP developer. This course assumes that you are a complete beginner in PHP programming and programming in general. The course will be your PHP programming bible until you will feel confident and be able to find anything you need yourself on Google. This course will walk you through from installing and preparing the environment to advanced PHP things to building your own content management system.” thumb=”https://iqunlock.com/wp-content/uploads/2019/09/udemy.png” ]
[wpsm_offerbox button_link=”https://www.udemy.com/course/learn-object-oriented-php-by-building-a-complete-website/” button_text=”Visit course” title=”Learn Object Oriented PHP By Building a Complete Website” description=”Take this course if you already know some PHP basics and know how to prepare the development environment, and feel comfortable with using PHP. This is a quite in-depth PHP course, however, I have missed some explanations in more detail.” thumb=”https://iqunlock.com/wp-content/uploads/2019/09/udemy.png” ]
Learning PHP-based e-commerce platforms
I will list some of the most popular e-commerce platforms that will make your career if you put the necessary efforts in learning them.
As this whole article is all about becoming a PHP developer, we will have a look into not only how to manage the e-commerce stores as e-commerce administrators, but from a developer point of view as well, which is the most important in this context.
The following Magento 2 course will cover all aspects of the Magento platform, and upon course completion, you will be able to set up and manage the Magento e-shop.
You can learn the basics of Magento 2 for free – all you need to do is to sign-up an account on Skillshare, and you will get 2 months for free.
[wpsm_offerbox button_link=”https://www.skillshare.com/classes/Magento-2-Essential-Video-Training/413457919?via=search-layout-grid” button_text=”Visit course” title=”Magento 2 Essential Video Training” description=”This Magento 2 Essential Video Training course is delivered by Alex Kostritsa, who is a project manager in E-Commerce. In this course, you will learn everything about Magento, from installing to configuring the e-shop, from configuring different types of products to installing extensions, and much more.” thumb=”https://iqunlock.com/wp-content/uploads/2019/10/skillshare-logo.png”]
Alternatively, you can sign-up an account on the LinkedIn Learning platform, which also gives you a free trial.
[wpsm_offerbox button_link=”https://www.linkedin.com/learning/magento-community-edition-2-essential-training/introduction-to-magento” button_text=”Visit course” title=”Magento Community Edition 2 Essential Training” description=”The Magento Community Edition 2 Essential Training course seems to be more thorough, and I would take it after completing the one on the Skillshare, though. However, this course will fill in all the gaps you may have after completing the course on Skillshare. This course is not going into the development side of things; it's more about how to use the Magento platform. That is essential for developers too.” thumb=”https://iqunlock.com/wp-content/uploads/2019/10/LI-learning-logo.jpg”]
Now, let's get into the Magento development.
The first skill you'll need to master is to build custom themes for the Magento e-shops. This skill alone could be your career path for a while.
[wpsm_offerbox button_link=”https://www.udemy.com/course/magento-2-theme-development/” button_text=”Visit course” title=”Magento 2 Theme Development” description=”In this Magento 2 Theme Development course, you will learn step by step how to customize and create your themes for the Magento 2 e-commerce stores. This is approximately a 3 hours' course, where you will be learning about layouts and resources, debugging, and how to transform PSD designs to actual Magento 2 themes.” thumb=”https://iqunlock.com/wp-content/uploads/thumbs_dir/udemy-1vpy7uh62zoa8kbrdrwjfpo5e2oi9ubtbceet5k4b4zg.png”]
You will also need to know how to create Magento modules.
[wpsm_offerbox button_link=”https://www.linkedin.com/learning/magento-module-creation-and-customization-techniques/magento-customizations” button_text=”Visit course” title=”Magento: Module Creation and Customization Techniques” description=”In this Magento: Module Creation and Customization Techniques course, you will get all the basics you need to start creating Magento modules. This course will cover topics like routing, module creation, Magento ORM, creating models and collections, great tips for customizing Magento, and plugins.” thumb=”https://iqunlock.com/wp-content/uploads/2019/10/LI-learning-logo.jpg”]
WooCommerce is one of the most-used e-commerce platforms that is built on top of WordPress. The majority of work you will get as a WooCommerce developer will be theme development as well as custom plugins' development.
[wpsm_offerbox button_link=”https://www.linkedin.com/learning/wordpress-customizing-woocommerce-themes/welcome” button_text=”Visit course” title=”WordPress: Customizing WooCommerce Themes” description=”In this WordPress: Customizing WooCommerce Themes course, you will learn the fundamentals of building custom WooCommerce themes. In this course, you will get familiar with using hooks, template overrides, modifying product pages, images, tabs, and many more.” thumb=”https://iqunlock.com/wp-content/uploads/2019/10/LI-learning-logo.jpg”]
[wpsm_offerbox button_link=”https://www.linkedin.com/learning/wordpress-ecommerce-woocommerce-plugins/welcome” button_text=”Visit course” title=”WordPress Ecommerce: WooCommerce Plugins” description=”In this WordPress Ecommerce: WooCommerce Plugins course, you will learn how to create WooCommerce plugins. You will be familiarizing with hooks, creating settings pages, analyzing WooCommerce settings, configuring settings, customizing product pages by utilizing hooks, customizing the WooCommerce checkout, and adding custom order statuses.” thumb=”https://iqunlock.com/wp-content/uploads/2019/10/LI-learning-logo.jpg”]
OpenCart is a very lightweight e-commerce platform compared to Magento. The good news is that is it very easily understandable for every PHP developer and is also an excellent choice for your career. If you are already familiar with the PHP basics, then there's only one thing left for you to learn to become an OpenCart developer. Here is a course for that.
[wpsm_offerbox button_link=”https://www.udemy.com/course/learn-opencart-module-development/” button_text=”Visit course” title=”Learn OpenCart Module Development” description=”In this Learn OpenCart Module Development course, you will quickly learn the OpenCart module development, which is a crucial skill for OpenCart developers. In this course, you will learn about routes, language files, controller basics, passing data between views and controllers, and more.” thumb=”https://iqunlock.com/wp-content/uploads/thumbs_dir/udemy-1vpy7uh62zoa8kbrdrwjfpo5e2oi9ubtbceet5k4b4zg.png”]
There you have it. You may have noticed that I haven't put any courses for learning manageability features for WooCommerce and OpenCart. It's just because these platforms are very straight-forward. Magento is a sophisticated e-commerce platform, and it would be the best skill to master for a PHP developer in the e-commerce field. The rest of the platforms could be learned very quickly.
Learning PHP-based content management systems
There are two main players in this area – WordPress and Drupal. WordPress is a leading content management system, then there's Drupal as well. There are many more CMSs available, however, it would be an overkill to describe them all here, so I have decided to pick the most used ones, and the ones that their developers are in-demand.
[wpsm_offerbox button_link=”https://www.udemy.com/course/wordpress-theme-and-plugin-development-course/” button_text=”Visit course” title=”Complete WordPress Development Themes and Plugins Course” description=”The Complete WordPress Development Themes and Plugins Course will take you from zero to hero. You will be able to learn as much as you need to become a hireable WordPress developer in a very short time. This course will guide you in the theme development, template hierarchy, template tags, action, and filter hooks, and the plugin development.” thumb=”https://iqunlock.com/wp-content/uploads/thumbs_dir/udemy-1vpy7uh62zoa8kbrdrwjfpo5e2oi9ubtbceet5k4b4zg.png”]
[wpsm_offerbox button_link=”https://www.udemy.com/course/learning-path-drupal-application-development-with-drupal-8/” button_text=”Visit course” title=”Learning Path: Drupal: Application Development With Drupal 8″ description=”In this Learning Path: Drupal: Application Development With Drupal 8 course, you will learn how to create complex websites with Drupal quickly, work with the Views module, and how to develop an internationalized website. You will also learn about creating themes and modules, and integration of the third-party front-end and back-end libraries.” thumb=”https://iqunlock.com/wp-content/uploads/thumbs_dir/udemy-1vpy7uh62zoa8kbrdrwjfpo5e2oi9ubtbceet5k4b4zg.png”]
Learning PHP frameworks
If you want to go down the PHP frameworks path, and learn some PHP framework rather than learning some content management system or the e-commerce platform, then I must admit this is an excellent choice as well.
By learning some PHP framework, you will be able to build anything you want – whether a content management system or an e-commerce platform or any other kind of application.
There's a reason why I have chosen CodeIgniter as a first-to-learn PHP framework for a PHP newcomer – it's easy to learn. By learning CodeIgniter first, you will get a solid understanding of PHP frameworks in general – what is a PHP framework, why PHP frameworks are useful, and how they work.
It doesn't necessarily mean you need to learn this framework first. But if you want to learn the easy way, this is the way to go. By learning CodeIgniter, you'll be motivated straight away, because you will get a good grasp of the framework immediately, and be able to create something tangible.
[wpsm_offerbox button_link=”https://www.udemy.com/course/php-mvc-framework-codeigniter-tutorial-for-beginners-project/” button_text=”Visit course” title=”PHP MVC Framework CodeIgniter Tutorial for Beginners Project” description=”In this ‘PHP MVC Framework CodeIgniter Tutorial for Beginners Project' course, you will learn the CodeIgniter framework in no time. You will start with basics and then will be progressing to more and more advanced techniques, like creating a Login functionality and other security bits, form validation, database configurations, CRUD (Create, Read, Update, and Delete operations in the database) functionality, and many more. The course is over 10 hours in length.” thumb=”https://iqunlock.com/wp-content/uploads/thumbs_dir/udemy-1vpy7uh62zoa8kbrdrwjfpo5e2oi9ubtbceet5k4b4zg.png”]
Also, don't forget to check the CodeIgniter official documentation.
Laravel is your ticket to success as a PHP developer. Laravel is used in thousands and thousands of companies worldwide, as well as by any individual PHP programmer-freelancer. The reason for that is that Laravel's functionality is crazy useful, and the community is vast. In addition to this, people can create and share the code using Laravel packages, so it's easy to plug-in someone else's code into your applications.
[wpsm_offerbox button_link=”https://www.udemy.com/course/php-with-laravel-for-beginners-become-a-master-in-laravel/” button_text=”Visit course” title=”PHP with Laravel for beginners – Become a Master in Laravel” description=”
In this ‘PHP with Laravel for beginners – Become a Master in Laravel' course, you will learn Laravel from scratch. You won't find any other course online that is as thorough as this one by Edwin Diaz, who is a TOP PHP instructor on Udemy. He created this course with the beginners in mind, so you will get great code examples along with great explanations. As another important aspect of this course, you won't get bored with this instructor. The course is more than 32 hours in length.” thumb=”https://iqunlock.com/wp-content/uploads/thumbs_dir/udemy-1vpy7uh62zoa8kbrdrwjfpo5e2oi9ubtbceet5k4b4zg.png”]
The last but not least in this article is a PHP framework called Symfony. 30% of the Laravel framework's code is based on Symfony. Laravel is using lots of third-party libraries, which mostly are Symfony components.
The Symfony framework is a real deal, and if you're looking seriously at becoming a professional PHP developer, I would suggest checking this framework.
If you'd like to become a more hardcore PHP developer, I would highly suggest to invest in the following courses.
[wpsm_offerbox button_link=”https://www.udemy.com/course/learn-symfony-4-hands-on-creating-a-real-world-application/” button_text=”Visit course” title=”Learn PHP Symfony 4 Hands-On Creating Real World Application” description=”
In this Learn PHP Symfony 4 Hands-On Creating Real World Application course, you will be learning Symfony 4 by creating a real-world application. You will write a full real-world application and deploy it on DigitalOcean. The course covers topics like service containers, controllers, routes, views, ORM (Doctrine2), event dispatcher, and much more. This course is more than 13 hours in length.” thumb=”https://iqunlock.com/wp-content/uploads/thumbs_dir/udemy-1vpy7uh62zoa8kbrdrwjfpo5e2oi9ubtbceet5k4b4zg.png”]
[wpsm_offerbox button_link=”https://www.udemy.com/course/symfony-4-web-development-from-beginner-to-advanced/” button_text=”Visit course” title=”Symfony 4 Web Development Guide: From Beginner To Advanced” description=”
In this Symfony 4 Web Development Guide: From Beginner To Advanced course, you will be learning Symfony from a beginner to an advanced. What's even more interesting about this course is that you will be creating two real-world applications. The first application will be a simple CRUD application. The second application will be an advanced video sharing service with PayPal integration and deployment to Heroku. Have a look at the course yourself and how thorough the course is.” thumb=”https://iqunlock.com/wp-content/uploads/thumbs_dir/udemy-1vpy7uh62zoa8kbrdrwjfpo5e2oi9ubtbceet5k4b4zg.png”]
These two courses are must-watch ones for a PHP developer who is willing to master the Symfony framework. I especially like courses where you get a chance to follow along with the instructor and build a real-world application. This way, you get the most out of the course, and so many things start to make sense.
Other PHP bits you'll need
As a PHP developer, you will come across other technologies that you will find necessary to know along with PHP. I will briefly describe some of them here.
Compozer – a dependency management tool, which allows declaring a list of libraries that the project depends on. It will download them automatically.
Docker – this is a relatively new technology, but it's already conquered the world. Using Docker, you can run other bits of software or services in seconds. Docker has thousands of use cases. It would be out of scope to write a lot about the technology in this article. For now, just keep in mind that this is an important technology.
Are you ready to become a PHP developer?
Some people say that PHP is only good for beginners, other people say it's not well paid, while other people say that PHP is not serious enough programming language to make you a valued developer.
That's just ridiculous.
It doesn't matter what programming language you'll choose for your career. Become a master at your programming language of choice, and you will be very well paid.