Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Nick82's avatar

Help a developer stuck in 2000

Hi there new to the site and in a bit of a sad face state so any help appreciated.

I have worked as the sole developer for a small agency for 12 years starting on legacy classic asp (i know!) then moving onto WordPress sites (which i still do) and I have in the last couple of years been involved developing some bespoke php applications. One in particular which is being used by 20k users.

The issue is my PHP is self taught and I work to agency deadlines. As a result and i take full responsibility for my own personal lack of R&D I have built and continue to develop the only way I know that is to say a typical admin system will look like:

RAW PHP using mysqli, no frameworks or packages and the occasional library like dompdf

list.php edit.php?id=1

Inside these files are HTML which posts to its self which then does SQL at the top of the script. Settings files are included at the top etc etc

I'v started branching out into incorporating OO classes to handle some more complex functionality (OO issue for me have always been it seems design from the start is as important than implementation and i'v lacked the design skills).

The systems i'm involved with are starting to become beasts and popular so new additional functionality is becoming difficult to implement and security is a concern.

I want to improve my skills, jump on Laravel train but i'm finding after a bit of reading to be overwhelmed, i'm not sure if its the framework, my lack of OO principles/design exp or both that is causing the issue but in the face of looming deadlines it just seems 'easier' to plod on coding like NSYNC are still No.1 in the charts.

I'm getting a bit anxious about it too, like i'm in a pit I wont get out of without 100's of hours of reading/experience in a professional environment I can't afford to spend that kind of time on.

I'm in a bit of a 'am i just crap at programming' mentality and wondered if anyone out there could offer some advise? I realise this post isnt strictly Laravel orientated but as the most popular PHP framework i was hoping it would be my spring board into the current era... i'm just kinda looking at the road ahead like its going up a 200ft mountain.

any help/advice appreciated.

0 likes
9 replies
jlrdw's avatar

Take Jeffries PHP series he gives a good example of building a mini MVC app for better understanding it helps you move to laravel much better. https://laracasts.com/skills/php

P.S. I was stuck in 1989 the old dbase 3 days

Laravel is not that hard to learn if you remember you don't need all the Thrills that come with it. Remember it's a PHP framework not some crazy magic thing.

3 likes
Snapey's avatar

Greetings from an oldie that first programmed in 1979 and started on the web with Frontpage 2000 !

A subscription here helps. There are a lot of other resources at your disposal. The main thing to do is to have a go! If its not quite going right, rip it down and start again!

Some resources.

https://www.easylaravelbook.com

https://www.codecourse.com

https://m.youtube.com/channel/UC4gijXR8cM4gmEt9Olse-TQ

https://m.youtube.com/channel/UC6kwT7-jjZHHF1s7vCfg2CA

http://www.phptherightway.com

1 like
gregrobson's avatar

Build a very simple form - it just has an email address field. Get it store that in a database table when you submit the form (don't bother using migrations yet).

...then get it to validate the email address (without Form Request Validation)

...then perhaps put that validation in a Form Request class.

...then get invalid email addresses to flash an error on the page when the email address is wrong, or no longer unique in the database.

...perhaps add a second field with different validation next.

The documentation is thorough and although I've read through it many times to get a sense of what's available: you'll never keep it all in the front of your mind. I've recently started to do a lot of work with event listeners, jobs and queues and I've hammered those pages on the documentation this past week.

If you build incrementally you'll have results more frequently and will be able to see your progress better.

jlrdw's avatar

I was hoping OP would reply back, hum.

martinbean's avatar

@Nick82 Hey! Firstly, don’t beat yourself up: your approach (PHP scripts with HTML that post back to themselves with SQL queries at the top of file) was how I started out myself… in 2006-ish! But over the years, I gradually started learning more things: OOP, frameworks, source control etc.

I think the first step would be to learn some object-oriented programming skills if you’re rusty on it. This is going to be the first step as practically all “good” PHP code—including frameworks like Laravel—are written in the OOP way. However, I’d disagree with the statement that “design from the start is as important than implementation”. Any project evolves over time so it’s impossible to design 100% of the application from the beginning. Even during development, classes can be created, removed, re-factored etc.

Unfortunately, there’s no shortcut around the amount of time you need to put in to learn new skills. Any skill is improved by putting time into learning and honing it. If you’re unable to dedicate the time during working hours and you still want to improve, then you’re going to have to put the time in during your own time. I appreciate this isn’t always possible, especially if you have a family, but as I say: unfortunately there’s no other way around obtaining knowledge without spending time researching and practicing.

Cronix's avatar

There's a lot to learn, but you don't have to learn it all at once. I wouldn't bother with learning npm/webpack/mix at first. That's a whole other layer of complexity that isn't necessary to build an app. You can just use css/js the way you have been and manually load the needed scripts. Webpack/Mix do offer a lot of power, but it's a big step to learn unless you are just doing very basic things. Don't overwhelm yourself. Start small. Build the simple obligatory "to-do" app or a "personal contacts/address book" app. Then do something more complex. Then something even more complex. Building blocks...not building a huge complex app in the first go.

I'd read the docs cover to cover though...first thing. Even if something dosn't make sense. Just read them. Little pieces will stick in your brain that will make sense as you encounter different issues/scenarios and you'll better know where to go to find the answer(s).

I'd highly recommend subscribing to laracasts. You will learn a ton from the videos and Jeffrey is a great teacher.

Just start small. You can do it.

artcore's avatar

That all sounds very familiar! I got into Laravel by rewriting a huge app piece by piece. Started with L5 in Nov17 and will likely be done before the summer. No real pressure here as the original app is still running fine...

I learned at nights, watching Jeffrey before I went to sleep and applied it the next days.

What overwhelmed me was the amount of new concepts that are all interlinked and you could find yourself learning for weeks without writing a single tangible piece of code. Composer, Node and later on IOC, Eloquent and what not.

However, the greatest thing about L5 is that you're not neccesarily confined to doing it the Laravel way, while other parts are so easy to understand and use that you can't imagine going back (like Artisan CLI and Mailables) This will certainly spark your enthousiasm to double the effort moving to L5 as it did mine.

FYI, I don't use facades (I mostly inject classes directly) nor Eloquent (wrote my own query buider which allows me to chain plain sql via repositories in an easier way - for me)

Some random bookmarked links that I found useful and some I revisit every now and again with new understanding...

http://alanstorm.com/category/laravel/

https://gist.github.com/davejamesmiller/bd857d9b0ac895df7604dd2e63b23afe

https://asklagbox.com/blog/unboxing-laravel-authentication

https://sebastiandedeyne.com/posts/2017/non-breaking-seo-friendly-urls-in-laravel

https://stackoverflow.com/questions/32615022/laravel-5-view-composer-with-multiple-variables

https://github.com/andersao/l5-repository

A little piece of understanding each day will certainly yield results eventually. I can honestly say that Laravel made me a happier coder! By the way, for what it's worth, I'm from the early generation X and had not written a single piece of code before 2014 :)

Cheers

Nick82's avatar

Wow guys! didn't expect such a response... bit overwhelmed.

Checked out some of the skills videos, really amazingly done so i'll smash through those. I started on PHP basics its all stuff i know like the back of my hand but thought i'd start from the start!

I think tightening up my general OOP PHP might be a good first step before jumping into laravel after having a think.

With my design over 'jumping in' with OOP comment is the fact you can (in my head) make a class that just does what a procedural(ish) script will do and end up with your 'functions' cut'n'pasta'd into 'methods' with some really rudimentary OOP benefits. A bit like using SASS in CSS just to do an import. There must be a certain level of mid-deep abstraction before you start typing.

Have already taken my global variables 'settings' include and made it into a class :D. Problem is its only instantiated once but hey its got proper scoping of methods and variables :D

IvanJanev's avatar

@Nick82 Hey! As other people stated don't stress yourself that much. Yes Laravel might be new, but it ain't no rocket science. I've been coding Native PHP myself just like you due to deadlines and decided to learn Laravel. Many of the people here posted some great tutorials but I didn't see the one I started with.

https://laracasts.com/series/laravel-from-scratch-2017

This is a great tutorial for building a very simple app while learning Laravel in the process. You are going to find out during the course of the tutorial that you have already done everything in it many times, and Laravel will only help you structure your code better and do many things for you.

I assume you are going to need about a month if you dedicate approx. 2hrs per day from your time.

When you finish that you can take a look at:

https://laracasts.com/series/whats-new-in-laravel-5-5

As 5.5 is Long Term Support (LTS).

Good luck and have fun!

Please or to participate in this conversation.