Is PHP still a good choice in 2019 (as a freelancer)?

There is something about PHP that clicks better with me, sort of like how Vue clicks better with me than React.
My ultimate goal is to become a freelancer and work on a large-scale project I have been attempting to produce for a few years now.
I am wanting to create a web app for my city that includes forums, business reviews, and among other things. The main seller of this app is that users earn points everytime they participate in anything, which in return they can earn rewards.

What are your thoughts, and is PHP (and its framework Laravel) the right choice for this app in 2019?

1 Like

PHP is definetly still a relevant technology to learn. My opinion though is that I wouldn’t build something new in PHP. If you want to build something that lasts, you want to be forward-looking.

2 Likes

What should I use for a project like this then?

JS (NodeJS) would be my go to move.

What about AdonisJS? It is a node framwork inspired by Laravel.

Never have used it. By myself I jumped from Laravel to NodeJS and MongoDB. I believe you need real time things in this kind of project so for interactivity, real time functions NodeJS would be the option.

PHP is an awful terrible wretched language, but if you’re interested in jobs working on WordPress, Drupal, or MediaWiki, knowing PHP is a prerequisite. And given that there’s many jobs in those areas, I’d still say it’s a good skill for a freelancer to have. That said, I wouldn’t begin to think of starting a new project in PHP, only to maintain existing PHP code.

I truly agree with going with NodeJS and MongoDB.

I prefer .NET or nodeJS for backend. I’m mostly working in .NET and I prefer C# over JavaScript, but both has ups and downs.
PHP feels like a language with a saturated market, it’s existed for a long time and as a PHP dev you will have more competition in the market. I would recommend picking up node or core instead as backend langugage.

What about using AdonisJS instead of Express?

Seriously guys? Ruby on Rails or python on django is what I recommend, node would actually be my third choice.

@Madice have you checked out AdonisJS? It is a Node Framwork that closely resembles Laravel.

If that’s what you want go ahead and do it man. For sure Laravel+Vue will work in your app without a problem. Just hop on into it. PHP might be messy but Laravel makes things a breeze. Be sure to stick with the best practices and just try to learn as much as you can, later that knowledge acquired can be transferred into any language really. The only thing you aren’t allowed to do is to stop learning!

1 Like

Just out of curiosity, why wouldn’t you build something new in PHP?

Going on 7 years old and it’s still relevant now. You might say all languages have warts, yes. PHP is made entirely of them.

@esaujose7 Thank you. These are the encouraging messages I like to hear.

@MadIce Oh, and what made you move away from Laravel? Is Laravel not a good first backend framework to learn?

It’s good. I liked it. But I just love how its easy to make real time apps with nodejs and socket io without any problems. Plus more variaty

@MadIce
But for such a large-scale app I am starting new individually, can I still use Laravel and it be a reliable choice for several years to come? The problem I am having with Node/Express is that I have to hunt for the packages I need, and these packages are developed by different people/teams, many of which do not collaborate with each other. In addition, I have to read the docs on all these packages and learn how to implement them. My fear is that these packages I pull in will not be maintained and will become deprecated, and then I have to constantly make adjustments to a large, enterprise app by myself.

Your problem isn’t unique to PHP or the Javascript ecosystem: choosing packages that are well-maintained and well-documented is indeed a challenge with any language, and it’s all about the tradeoffs between convenience and future maintenance. It’s also what drives many people to choose an all-inclusive framework, such as Symfony (which Laravel is built on).

I wouldn’t worry too much about Laravel’s continued support: it’s an extremely popular framework with many developers who can and do pick up slack when other devs leave the project. Even if every Laravel dev stopped developing it today, the user community would likely come in and continue supporting it. In other words, Laravel is a pretty safe choice.

(Whereas I’m stuck with freaking CodeIgniter for my one PHP project. Oh well, at least it’s small enough to hack on myself)

2 Likes