Posts

Showing posts with the label PHP

PHP Framework Pro Free Preview

  Today I bring good news! I’ve compiled the first 12 videos from my forthcoming PHP Framework Pro course into one 70 minute video. The lessons included in this preview are: The Front Controller Autoloading Request Class Response Class Http Kernel Routing FastRoute Router Adding Routes Retrieving Path Info Defining Routes Controller Classes Controller Method Arguments This is just a small sample of the full course which will be released in March and many of the components will grow and evolve as the course progresses. This week I’ve been working on Dependency Injection and produced over an hour’s worth of video material so far on the Dependency Injection Container alone. My mission is to uncover all of the mystery of frameworks so ask me anything you wanna know about the course. I’ve already included material based on suggestions received. You can check out the 70 min preview here: https://youtu.be/u3hN_r1DwSQ Some early views and likes would be very much appreciated 🙏 ...

What are you learning today?

  I learn something new every day. I have done almost every day for as long as I can remember. It’s now just a habit and something which I prioritize over my daily work. You might be surprised by that but I’ve programmed myself to think about the long game.  In five years time, nobody is going to know or care about me completing a user story inside a sprint in 2023. But it will be noticeable if I’ve studied my craft and improved my skills every day for the last 5 years. I regularly ask junior developers and testers ‘what are you going to learn today?’ and they often tell me how busy they are and that they won’t have the time. They do have the time, they just don’t prioritize it. Again, in five years time, no one will remember or care that they finished a ticket on time. Don’t get me wrong here, I’m not advocating that you neglect your work. I’m simply encouraging you to ask yourself how much do you prioritize study.  Some people go through phases where they study every da...

Wanna be a PHP framework PRO?

So last week I spoke about frameworks and the importance of being able to write clean, framework-agnostic code if you wanted to be a well-rounded developer. Let me now share with you something which I have been working on since December…this will be my next full-length course on garycarke.tech: PHP Framework PRO. Nearly every PHP job position you will apply for will require you to have experience of using at least one framework. So I decided to go one further and give you the edge over all of the competition by showing you exactly how they work and how they are constructed. Starting from zero lines of code, we will build up our own custom framework, closely examining all of the component parts as we add them…each piece will be explained in a way that is easy to understand both in isolation and as part of the wider framework. By the end of the course you will have a complete understanding of front-controllers, Request classes, Response classes, routing components, controller classes, de...

What is a Laravel developer

I often see job postings where they are specifically asking for a Laravel developer. This doesn’t only apply to Laravel. You can replace the word Laravel with other PHP frameworks…I’ve just used that for this example.  These kind of posts make me wonder what they would take into consideration of they were interviewing the following two developers  Developer A 3 years PHP experience, all Laravel Basic object oriented PHP skills and knowledge Developer B 7 years PHP experience, other framework experience but no Laravel Strong object oriented PHP skills and knowledge For me that would be a no-brainer. An experienced PHP developer with strong OOP skills can learn a new framework and their work would be of better quality than another developer with less experience and only basic programming skills. Learning the PHP language and object-oriented programming (OOP) concepts can provide a deeper understanding of how web development works, and how to effectively build and maintain a web ...

What tools do you use?

Image
I sometimes get asked about certain tools that I use so I figured it might be interesting to share my setup with you. For hardware, I’ve used the same MacBook Pro for the last ~5 years with the Catalina OS installed. I don’t think it is new enough to install a later OS than this.  I only use one screen which I think is 21 inches. I’ve never used 2 screens because I prefer to just tab through applications rather than keep looking in different directions and I always have my screen just sat flat on my desk and not on a stand. For my editor, I’ve used only PHPStorm for quite a few years and doubt that I’ll ever use anything else. Other editors have been hailed as the latest-greatest editor but they always seem to need quite a lot of config to get them to work with PHP like PHPStorm does, so why change? Before PHPStorm, I used Netbeans and Sublime. I’ve used a few themes over the years including custom ones which I created myself but I’m now using Material Darker and people seem quite ...

Ask me something 'stupid'

  I was scrolling through Twitter the other day and I saw a tweet by Adam Wathan which made me stop and read the whole thread : “Learning is more important than your ego. I ask for help about dumb shit on Twitter all the time, no one thinks I’m stupid and I have grown 100x as a result. I literally started a podcast just to get people to explain things to me that I didn’t fully understand” - Adam Wathan The tweet is actually a couple of years old but the message contained within it could have been written two hundred years ago and it would still be just as valid and valuable.  You can only gain from admitting that you don’t understand something and seeking help to fill that knowledge gap. There is nothing to gain from pretending to understand something that you don’t. In fact, you’ve just lost a learning opportunity instead. I get asked a few questions in my courses but I’m sure that my students have questions that they wanted to ask but didn’t. I’ve never once thought I’m bein...

PHP is Dead!

Image
  I’ve been using PHP since version 5.2. One of the first things I was told when I first started learning it was that PHP is dead! 5.2 was released in 2006 yet here we are in November 2022 with version 8.2 about to be released. In fact a new version has been released every November or December for the last 8 years.  According to W3Techs reports as of October 2022, it is used by 74.4% of all the websites whose server-side programming language they know…I’d say that means it’s very much alive and it’s not going to die any time soon because it is too good at what it does. It is a language which was purposely designed for the web. You don’t need to piece several different packages together to start making web requests with PHP, everything is ready to go immediately. But if you do want to talk about the packages and tools available to a PHP developer, I think that what we have these days puts us in a very strong position. Composer is a brilliant dependency management tool…give me C...

Git and GitHub

  A few months ago, I was scrolling through my LinkedIn when a saw a post from a girl who said that she was thinking of quitting pursuing a career in tech because she just couldn't grasp Git. What made this curious to me was the fact that she was able to understand things which are much more complex (to me, at least). So I cast my mind back to when I was in her position, just starting out, and I do recall being quite overwhelmed by Git when I first encountered it. There are so many things that you can do with it but most learners are just working on small tutorial projects on their own...no collaborators. Being shown hundreds of different commands in Git 'God mode' makes no practical sense. That's not only confusing but it's also unrealistic. Most developers, self included, don't use anywhere near all of Git's features. I've forgotten more Git commands than I actually know and use regularly. So this is a long way of saying that I decided to make a Git an...

Do you work from home?

I once worked at a company where no-one on the dev team ever verbally spoke. Literally all of the communication was done by typing in Google Hangouts…even though we were all in the same office and sat within a few feet from each other. It was like an unwritten rule that you did not physically speak to other developers…which might make you think that we didn’t get along. But that wasn’t the case at all. On Hangouts everyone would be joking, sharing memes / gifs etc. and communicating in much the same way that developers do when they are working remotely. So what was the point of us being in an office? Indeed, what is the point of any software developer spending hours of their life commuting into an office to do the exact same thing as what they would do if they were working from home? It’s a conversation that I see quite a lot on social media and the arguments that I see for people being in an office never (or very rarely) apply to our profession. Here are two arguments that seem to cro...

How do you gain experience?

My LinkedIn feed is full of posts regarding junior developers and how hard it is to get experience when you are just starting out. I’ve noticed 3 different kinds of company when it comes to hiring junior developers. ✅ Companies that hire junior developers and offer training and mentoring in order to help them progress. ❌ Companies that don’t hire any junior developers. 💩Companies that want to pay a junior developer salary but expect you to have a CV which reads like a senior developer with 10 years experience. The type of company you’re most likely to come across will depend on which part of the world you live in but recently I’ve seen a few concerning posts from recruiters in the UK; less junior developer positions are being advertised than in the past. Possibly a lot less. So how do you gain commercial experience if you are just starting out? There is only one answer to this and that is to make yourself as valuable as possible…so valuable that it makes more financial sense to hire y...