Is the approach of one PHP Framework better than any other?
As I’ve been building a new PHP application, recently, using the Slim framework, I’ve come to find myself at a bit of a crossroads in my outlook on building them.
Laracon AU 2024 is over, so I thought I’d share a bit of what it was like for me, especially as I’ve not been to Laracon before.
As someone who’s not a regular Laravel developer (I have worked on legacy Laravel projects in the past, however) the conference and community were something to behold. Everyone who I interacted with was very welcoming, very encouraging, and very willing to help out. This definitely helped me feel very welcome and that I could, potentially, belong. I appreciate that conferences should be welcoming, but not all are.
The conference was held at QUT’s Gardens Theatre situated on QUT’s Gardens Point campus in the middle of Brisbane. Given that, it was easy to get to and from the conference on public transport (plus a little bit of walking).
Then, there was the fact that the conference was very well run and clearly well organised, as I mentioned earlier. Actually, I think that it’s easily one of the most professionally run conferences I’ve ever been to over the last 20 years.
In the closing discussion, Michael Dyrynda the conference organiser mentioned that it had been a significant amount of work over the last 9 months. From my perspective, it was clear that he had put significant time and effort into each and every detail of the conference. Nothing seemed to be overlooked or ill-considered. Nothing seemed to be an afterthought.
As a casual observer, it’s easy to see just where that time likely went. From the branding, organisation of sponsors, speakers, catering, and swag, or venue research, there is so much work that goes in to conferences — let alone one of this calibre.
I hope that Michael, wherever he is at the moment, is taking a well-earned break. Though, he did say that he was straight back to work today. So, perhaps not. 😞
I go to conferences for two reasons: talks and networking. For Laracon AU it was both. There were some solid technical talks and some excellent (so-called) “soft skills” talks.
With no negative reflection on the ones I don’t mention, the technical talk highlights for me were:
Bulletproof Coding: Essential Cybersecurity by Stephen Rees-Carter.
In essence, this talk was a solid introduction on what to do to better protect a Laravel app from being hacked. I feel that Stephen did a fair job of condensing a lot of knowledge about cybersecurity into a very targeted talk.
Advanced HTML for Good Developers by Mandy Michael.
This was one of my favourite talks, as I’ve loved HTML since I first came across it, back in the HTML 3 days. It resonated with me, mostly, because it showed just how much you can do with HTML without the need to resort to JavaScript, and how, with a little bit of extra care and attention, we can make our applications more accessible to a broader audience.
You can’t do that with Laravel by Ryan Lovett.
This was quite an interesting talk. Firstly, Ryan clearly has a lot of practical, hands-on experience from building the technology for the business that he runs. What’s more, it was novel to have the use case of a talk be an unpredictable environment, one where excellent infrastructure was not the norm.
So often, talks are based on countries or environments where you can assume that everything just works. Ryan turned all that on its head by providing insight into a number of the things that he had to account for with a system deployed in an environment which was anything but the “norm” in PNG (Papua New Guinea).
For the “soft skills” talks (I loathe that term) these included:
The invisible developer by Marty Friedel.
Marty’s talk almost brought me to tears, as I could relate to so much of what he shared. Who hasn’t felt alone and isolated? Who hasn’t felt overlooked or forgotten. I’m very appreciative of the time, effort, honesty, and openness required to write and deliver the talk.
The intern effect by Elly McIntyre.
Elly’s talk was excellent, as it reminded me of just how important and how valuable interns are. They have fresh eyes, fresh perspectives — different perspectives — new thoughts and ideas that they can share with us.
Sure, they often don’t have the technical prowess of mid-to-senior level developers, but that doesn’t mean that they don’t bring value. Just the opposite. Thank you for reminding me of that Elly.
I want to give a special nod to my friend Jack Skinner for his Failsafes and safety fails talk. It was all about, as the name implies, ensuring that your code fails in a safe way, and doesn’t just fall apart or cause fallout if and when it does. It’s a topic that I wish more people talked about. It had me from start to finish. The talk was beautifully paced, thoroughly thought out, had a beautifully complimentary slide deck, and was narrated with precision.
Now, while the talks that I’ve mentioned (and some that I haven’t) were excellent, some of the technical talks weren’t as challenging as I’d have liked them to have been. This isn’t to say that I thought negatively of them. Not at all. Rather, it’s because I’m familiar with the material that they covered. I’m usually looking for intense, deep-dive talks on topics outside the everyday or outside of my realm of experience.
Sometimes it’s good to be reminded of things that I already know, and to be shown them in different ways. That way, I can challenge myself, challenge what I know, to see if I really do know it as well as I thought I did. But, I’d love for the talks to have gone deeper.
I don’t think I know anyone who doesn’t go to conferences to at least do some networking. Even if that’s just to catch up with old and new friends who share similar interests.
So it is with me. It was a wonderful opportunity to meet up with friends who I’ve worked with over the years — even if I had no idea one of them would even be there! It was also greatly rewarding to be able to meet up with some in person for the first time, people I’ve been chatting to online for years.
While it’s always a dangerous thing to single out a few people, as you run the risk of missing others, I’ll do it anyway. I had the pleasure of meeting the wonderful (and very tall) Matt Stauffer, Jack Skinner, and Michael Dyrynda.
For some background, I’ve reviewed Matt’s Laravel book (Laravel: Up & Running) and recent Laravel Testing course on Pluralsight, and he was kind enough to be a guest on one of my podcasts.
Jack and I have talked for so many years on so many technical topics, and narrowly missed catching up around 9 years ago in Sydney or Melbourne; he was also a very generous guest on one of my podcasts. And Michael and I talked podcasts, amongst many other topics.
Thank you to all three for the opportunity to meet you in person, even if only briefly. I hope it’s not the last time we do.
Something that was completely new for me at Laracon AU was the product and release announcements. At the conferences that I’ve been to in the past, such as ZendCon or PHPUK Conference, forgive me if I’ve forgotten, but this doesn’t happen.
That said, as it’s a conference based around Laravel it makes sense to have them. After all, I assume if you’re a Laravel developer, you go to learn about what you can already do with the framework and its wider ecosystem and about what is coming up in the future.
So it was that Nightwatch was officially released by Jess Archer, Engineering Team Lead and member of the Laravel Core team.
It was a very thorough presentation both in how she showcased Nightwatch, and her presentation style. Often times, presenters speak too quickly for me to keep pace with. For me, Jess spoke at just the right pace. The talk could have been a little shorter, but there was a lot to cover.
As for Nightwatch itself, if you’re a Laravel developer, I think this might well be a must-have tool to provide you with the monitoring insights you need. It’s professionally designed, consistent in its UX (user experience), and provides all of the information that you’d expect, such as queries, exceptions, requests, scheduled tasks, notifications, and commands.
Despite all of the positives that I’ve covered up to this point, and others that I haven’t, I don’t see myself converting to Laravel — at least not in deference to my existing stack.
Perhaps if I was younger. Perhaps if I was newer to software development. Perhaps if I was new to PHP and looking for a stack to call my own, or a community to join.
I’ve been using PHP since version 3, when OOP (object-oriented programming) was syntactic sugar at most. Yes, I’m that old (and have the grey hair to prove it). I’ve seen frameworks come and go, trends come and go, and so much more. In that time, I’ve come to a way of working which, while it likely could be a lot better, is the way that works for me, that fits like a proverbial glove, that I find I get my best from.
With complete respect to the conference, speakers, and attendees, I didn’t come away from Laracon AU motivated to migrate from that to a Laravel-centered stack. However, and it’s a notable one, all of the above did motivate me in one very specific way — to revisit my approach and to systematise it wherever I can.
It’s motivated me to not repeat work, tasks, steps, etc like I have in the past. I now have better motivation to refine and systematising how I work to make it more efficient and effective. So, over the coming months, I plan to be doing that, releasing a number of open source tools to help out with the issues that I have, and contributing to others from that point of reference.
By attending the conference, I finally understand how Laravel came to be the dominant PHP framework. While I must have read the key strapline on Laravel.com countless times:
Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the small things.
It now, truly, resonates with me. Almost everyone at the conference that I heard or interacted with spoke from that same perspective. And it makes sense. In stark contrast to the mindset that I started out with, years ago, of coupling various pieces of open source tooling together as and when I needed them, the Laravel approach is a very practical alternative.
Figure out what you need to make your life easier, what you do on a regular basis, and build tools that take the pain away and let you get on with building. Let’s see where this goes.
As I’ve been building a new PHP application, recently, using the Slim framework, I’ve come to find myself at a bit of a crossroads in my outlook on building them.
For the longest time, Zend Framework hasn’t had the strongest support for command-line tooling and scaffolding. However, in recent times, that’s all changed. Come find out how to use Expressive’s new tooling support to create modules and middleware rapidly.
Laravel’s Eloquent ORM isn’t likely the first one you think of when using Zend Expressive. You likely think of Zend\Db or Doctrine. But, with a little bit of work, it’s possible to use Eloquent with Expressive. Today’s tutorial shows you how - step-by-step.
Recently, I’ve started to learn Java, after over 20 years since I first learned it. As a, primarly, PHP developer it’s been an interesting experience. PHP is still easier for web projects. Here are some reflections on why.
Please consider buying me a coffee. It really helps me to keep producing new tutorials.
Join the discussion
comments powered by Disqus