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

or to write plugins for Civ 6. Or Notepad++. I’m actually really surprised by the number of times I’ve had to use PHP on desktop apps.

@chuckadams
I don’t want to come off as a whiner, but I have been learning web development for 2 years now, and I still feel I have hardly made any progress with it. I am a slow learner and an individual learner. I haven’t touched programming at all prior to these 2 years.

I have had an idea for a web app for over 2 years and each time I have attempted to produce it, I feel I have failed. Mainly because I was using procedural PHP to start off with and my code was unmaintainable.

I want a framework that I can just jump into without too many hoops. I am going to be honest, I hate Express. Maybe because I still feel like a noob and cannot use it just yet.

I feel your frustration too: I haven’t progressed at the rate I want to when it comes to learning front-end technologies (I’m an old hand at server-side stuff). Really, there’s no substitute for good old practice.

Back to PHP frameworks though, Laravel is a really good framework (even if I detest the language it’s in), and I’d recommend learning it if your interests lie with PHP. Don’t worry about writing procedural code in PHP, since you’re almost never going to write functional code in that language. As for OOP code, Laravel documentation will give you plenty of examples in how to apply it, and there’s always the helpful community to ask for advice (I recommend the #laravel channel on freenode IRC)

1 Like

Also, if you are that interested in Laravel, I recommend you to check https://laracasts.com/. Recently they made a series on Laravel 5.7 From Scratch, really good if you want to get started with it. There are tons of video series too about plain PHP, OOP, Design Patterns and a whole lot too if you are going the PHP way.

2 Likes

I have been in Freelancer job for some time now. I tell you that although php is a good choice but you will also need to know few other things with php:

  1. HTML
  2. CSS
  3. JavaScript + jQuery
  4. WordPress (which is a CMS made in PHP).
  5. CodeIgniter (A Web Development framework with PHP).
  6. MySQL (Database for PHP Projects).

Thank you!

1 Like

As the discussion has been mentioning for a while, replace that with Laravel. No one uses CodeIgniter for new projects these days (speaking as someone maintaining a couple CI projects). Also, SQL in general rather than MySQL specifically. As for WordPress, I wouldn’t call that a prerequisite, but some major app type software in PHP is called for, be it WP, Drupal, MediaWiki, or (shudder) Magento.

1 Like

As a Software Engineer and PHP teacher, I thought the language is not a problem, but I prefer PHP (Laravel Framework) more than the others language I worked in (Python - Flask, Nodes JS - Express). I’m not sure but the first language I learned is PHP and the very first Framework is Laravel, it’s weird, I know :).
When you work as a freelancer, you should know more than that, think out of the box, what is the client needed from you ? Not PHP, not framework, that’s the way you solve their problem.
Anw, PHP is a good choice for beginner, Laravel is a smart choice.

And yet, even in 2019 it’s a still a highly popular language for web development. For a freelancer PHP is a must as WP is still around and not going anywhere.

With wordpress though, don’t I have to memorize their own special functions? In addition, isn’t it more challenging to add custom functionality?

I’m not a WordPress developer but I’ve heard people saying that you don’t necessarily need to know PHP to work with WordPress templates, however if you want to customize the templates then you will need to code in PHP, or if you want to create templates of your own, or create/edit plugins, etc.

If your goal is to be a freelancer, then PHP is definitely a good choice mainly because of WP and most small companies still use PHP. Node.js is only popular in larger cities I think.

1 Like

wow. this is an awesome and wise answer. Thanks!

1 Like

yes PHP is a good choice but you also have a some knowledge of
HTML
Java script
Css
MySQL

1 Like