I have been asked many times why do I still use PHP and why it’s my tool of choice. I started using and learning PHP 7 years ago and I still stick to it.
My first touch with PHP was when I installed Wordpress theme and everything fell apart, errors everywhere. Googled for some of those errors and found a solution. Even I didn’t know anything about programming I have solved my issues.
A few months later I wanted to start my own blog about tech and gaming - all together with an idea to learn PHP so I built it myself. Back in 2011, there were so many resources to learn PHP, the community was big enough to google errors and find a solution quickly. I first started with thenewboston (PHP Tuna!), betterphp and phpacademy. I am still thankful to them for getting me into this world of programming, detailed explanations and teaching me and many others.
Even since then, 7 years later I still use and learn PHP. Many things have changed for me and in industry. Starting with first my own built blog, procedural PHP code mixed with HTML and CSS (#softwaregore), building own framework and getting to a level where I understood why to use modern PHP frameworks.
PHP is easy to learn
Even I started with PHP just because I didn’t know about any other programming language for the web (besides frontend stuff) in the beginning and I never looked for anything else later. The biggest double-sided sword about it that you can write procedural code as well do Object Oriented Programming.
Procedural code is pretty easy to understand if you don’t know how stuff works in the background. Writing simple “echo” command will write output to your screen. Setting up the environment is easy on Windows, Mac or Linux - just use XAMPP, MAMP or LAMP.
As you learn and work in PHP you should move to OOP principles, learn design patterns and move on. They are here to solve most common problems and that is why most of the developers use it.
The Internet is covered with various PHP courses which are available on many platforms. A huge community is built by time and there are many people willing to help you when you get stuck.
High demand for PHP
More than 80% of the internet is powered by PHP. PHP developers are high in demand and this keeps growing. Due to many available content management systems, frameworks and a good compromise of speed/code quality/development speed many companies as well choose PHP as their tool to build their products.
Some of the biggest and the most popular websites are built mainly with PHP in the backend, for example, Facebook, Yahoo, Wikipedia, Wordpress CMS and many others.
A Question many will think of is - is it worth to work in PHP? Can I make enough for a living? Of course, you can and it’s worth. Depending on which CMS/framework you work with salaries are keeping industry standards as others programming languages.
PHP in 2018
PHP has gained big community over time, people are building frameworks and keep optimizing apps they have built. PHP itself has made a long path up to now. What can be seen in their releases is they keep improving and keep backward compatibility. Long-term support versions have phases when they provide bug fixes or security fixes - which is very important if you get stuck with a huge system which can’t be rewritten that soon.
PHP 7 release in 2017 has brought us many new features, security and speed improvements. What many people have bragged is that PHP is type loosely, not OOP enough, fortunately, they have improved that. PHP almost doubled its speed from PHP 5.6 to PHP 7:
If you are using PHP professionally you are probably gonna end up using some of the most popular PHP frameworks - and there are many reasons why you should. They solve most common problems when it comes to PHP - such as security issues, keeping the standard for external packages, they provide rapid development, easier maintenance etc. In the beginning, many developers wrote PHP their own way - but by time PHP PSR has arrived and brought standards to the community - by the community in term of application structure, code style, organizing files etc. The most popular and my frameworks of choice are Laravel and Symfony. There are many other such as Yii, Zend, Phalcon, CodeIgniter etc. Since I personally have the most experience in Symfony and Laravel I’m going to write more about them in this post.
Taylor Otwell, creator of Laravel announced on Twitter that Laravel overcomes Ruby on Rails by popularity on Github - which have been here for a longer time.
Laravel 2018, Github
Laravel is one of the most popular PHP frameworks for building web applications. With its various useful features it lets developers build their websites fast and without the struggle. Also, it’s very fluent, user friendly and easy to learn and understand.
Learning Laravel is easy
Laravel is a framework that comes with many features that simply work out of the box. The biggest difference - in my opinion - between Symfony and Laravel is that it’s extremely easy to start and learn Laravel. Laravel’s console called Artisan provides many helpers to help you with rapid development. Authentication works out-of-the-box for user login, registration, password reset, sending emails etc. There is almost no configuration to change to start. Excellent Laravel documentation gives you step by step course how to use it.
Best way to start learning is by watching Laravel course. It will give you quick overview how to and what where to find. What Laravel course may not contain are some details, function parameters etc. Reading documentation can give you more insight into all available features.
Laravel with its famous facades gives you an opportunity to build app faster by not overcomplicating your first MVP. Don’t take its possibility for rapid development as a bad thing. Laravel from my experience also scales very well and you can optimize and configure it as you want.
With Laravel 5.6 release they showed how much they care about details which can save you lots of time. Laravel news announced more details about new features. I haven’t seen any framework before give this much attention to creating user friendly experience.
One of the introduced new features gives you the option to schedule queued jobs per server which can be very useful if you have a specific server for sending emails.
Writing console commands sometimes can be harder than using a browser to generate and test something. They also brought nice error reporting to console. Upgrading to Laravel 5.6 also doesn’t take much time.
Laravel has a huge community and it has well developed ecosystem. It’s easy to take your Laravel application from development to production.
Envoyer lets you deploy your applications with zero downtime and takes care it goes seamlessly as it can go.
In Laravel 5.5 version which became supported by many packages in 2018 and got ready and steady for production, they announced Laravel Horizon. Any bigger application may come in a need of queues and its monitoring - a problem which they solved with Horizon.
What I personally like about Laravel is a huge availability of packages and helpers to make your life easier.
Symfony as a framework is bigger than Laravel and exists for a longer time. It’s enough to say that Laravel is built on the top of Symfony components. Personally, I use it for larger projects when multiple developers are involved due to its more strict architecture.
Symfony gives you easier upgrading to newer versions because they care more about backward compatibility and comes with more long term plans what should be done. On the other hand, there are bundles that may lock you to older versions.
After working with Sylius — eCommerce framework built on top of Symfony I saw once again the power of it. It’s super easy to install and setup. Also, it works out of the box as a web shop that can be easily extended. Completely covered with tests and implements all Symfony best practices. It’s a great resource to learn and see whole power of Symfony and its implementation. I like to call it as “Symfony tutorial — how not to break project”.
PHP vs competition
PHP is not only available programming language. There are many others which are also popular on the web. StackOverflow (ask the community for help or help community) created a survey for developers in 2018 which gave more insights into developer’s popular technologies, salaries, demographics and more about their jobs.
Source: stackoverflow survey
Laravel 5.6 - 2018 course
If this article hooked and motivated you about PHP and learning Laravel you should start today. The web is still in high demand it keeps growing, take chance and start learning today. I recommend learning on Elea Online which brings you handpicked high quality courses on various platforms.