State of Laravel, creator spotlights, and building SSH apps with PHP

Download MP3
Announcer:

This is the Laravel News podcast, your one stop podcast to find out about Laravel related news, tutorials, packages, and more. Here are your hosts, Jake Bennett and Michael Dyrynda

Jake:

You know what that is, Michael?

Michael:

Mr Hankey

Jake:

The Christmas poo. Oh my gosh. Why? Why are we talking about such nonsense on this show? Hey, everybody.

Jake:

Welcome to episode 220 of the Laravel News podcast. It is July 11st 11st on our

Michael:

Surely not. July 11st.

Jake:

It's not it's not that it's 31st. That's why we put the wrong number in there.

Michael:

Oh, you know. July 31st.

Jake:

There we go. July 31, 2024. Today is sponsored by Sentry, error tracking and monitoring and CronJob monitoring and all of that good stuff for your Laravel applications and for all sorts of other applications as well. But they're sponsoring the show today. Thanks so much, Sentry.

Jake:

We'll talk about them a little bit later in the show. My friend Michael, how are you, dude?

Michael:

Oh, good. We, Good. There was some there was some uming and ahing about when when this episode was gonna be recorded.

Jake:

Yes.

Michael:

And I was wondering whether or not I would have the opportunity to share share my secrets on this episode or not. So

Jake:

Let's see.

Michael:

Catch out of the back. Catch out of the back now.

Jake:

Yep. I saw it released today. I retweeted it. So I won't I won't share your news. I'll let you share it.

Michael:

Go ahead. We last week, we finished the speaker announcements for this year's Laracon AU. So we we announced all 17 of the speakers that will be speaking, but we had a little, secret up our sleeve. And that is that Taylor Otwell will be coming to Laracon AU for the whole course time since 2018. So very excited to have Taylor back.

Michael:

He's not not presenting this year, but he is gonna be part of a Laravel q and a. So we did that last year with, a few of the Laravel team members that were in attendance, and we'll have a few of them in attendance this year. Jess will be there. Joe will be there, obviously, and a couple of others will be there as well. So excited to have the man himself, coming

Jake:

6 years in the making. 6 years in the making. That's gonna be pretty awesome. Yep. Yeah.

Jake:

Jealous. It's gonna be great for you. That's fun. Well, I, I am trying to we we are we have tickets for Laracon, of course. Mhmm.

Jake:

I, waited a little bit too long to book our hotel, and so the main hotel is all booked up. But the good news is there's hotels all over the place there in Dallas. And so, I don't know. Might be staying at the one that David Hempel is staying at, might be staying at one just across the street, might be I don't know. We'll see.

Jake:

You know, it's they're all within walking distance of each other. Nobody just kind of meanders around anyway, so it shouldn't be that big of a deal. But we're gonna get in on in on Monday morning and leaving Thursday afternoon, so I'm really looking forward to Laracon US. Should be a lot of fun. I'm going to miss a lot being a speaker this year.

Jake:

Man, it's like that VIP back stage pass sort of experience is what it felt like.

Michael:

Right? I didn't really

Jake:

felt like I even belonged. It was just like I got to hang out with all the all the fun people. So, anyway, I'm sure it'll still be great. It's gonna be awesome. We're really looking forward to it.

Jake:

And, you will get to hang out with all the awesome speakers because you're organizing it. So that's that's amazing. I'm I'm excited for it. I'm excited.

Michael:

That is the plan. Yeah.

Jake:

Well, should we jump into it here? We've got Let's

Michael:

do it.

Jake:

Some releases, some news, some packages, and some tutorials to talk about today. Quite a few of them. Let's jump right into it. Lareva, 11/19. This post was written on July 30th.

Jake:

So they released 11/19, including, asserting the exact JSON structure and where none query building query builder method, a number trim method, HTML assertion convenience methods, and more. So a standout contributor in Laravel 9 1119 is Gunter de Brouwer de Brouwer, excuse me, who contributed 4 different bullet requests to the frame framework in the same week. That's awesome. Yeah. Yep.

Jake:

So Gunther, first contributed this assert exact JSON structure. And what this we've talked about these, asserting JSON structures and things like that. There was tutorial a couple weeks ago, and so what this does is this ensures that a response, a JSON response completely follows an expected structure. So, previously what you had is assert JSON structure. And in that one, you can just leave out some keys and as long as it contains the keys that you included, it's fine.

Jake:

But with assert exact JSON structure, you have to specify all of the keys that are included in the JSON or else it will fail. One other thing you might wanna look at, which is really cool, is that you have that assertable JSON now, which you can do. This is really interesting, actually. There's a lot of really great stuff you could do here. In fact, I was thinking about proposing a talk for next year just talking about how you can can do JSON assertions in your tests because there's so many different ways to do it.

Jake:

Yeah. Even if not, just maybe, maybe a layer of a worldwide meetup or something like that to talk about because there's just a lot of great resources around testing these and a bunch of different ways to do it. And so this is the new one though, assert exact JSON structure. Thank you, Gunther, for that one. Alright.

Jake:

Einar Hansen contributed the where none to complement the where any and where all methods. So what you can do with this, and this is, a method that's added to the query builder, as you could say, DB table users where active is true and where none. And then as a second argument, you pass in the different columns that you're looking to match against. So you could say first name, last name, email, and then as the comparison operator, so let me just be clear here. Where none, first argument, the different columns in an array.

Jake:

The second argument, the comparison operator. In this case, they're using like. 3rd one, what you're comparing it to. So in this case, they're using, like, EINAR percentage signs. So it should not be it should not be like EINAR, percent, and it's for first name, last name, or email.

Jake:

So what that ends up doing behind the scenes is it creates a, and not, and then first name like this or last name like this or email like this. So a nice little convenience method. And as, stated, it's to complement the where any and where all methods, which are similar in nature to this one. But where none is the name of this new one. So good job on that one.

Michael:

Very cool.

Jake:

Gunter, again, contributed a without header test method. So this is when you're making a test request, and it might be useful if you have a default header that you typically append to each request. But in this case, you want to say, what does it look like if I do it without that header? So you could say this without header, name the header key that you want, and it will strip that header out of that request before it sends it. So that's kinda nice.

Jake:

Gunther, again, contributed 3 new HTML assertions. These are syntactic sugar for assert c, with escape disabled. So if you have a response that you're wanting to test to see if there's some specific HTML inside of that response, you can say assert c HTML and then you pass in the full HTML string that you're looking for. You can also do this is interesting. A search c HTML in order.

Jake:

And then what you can do is you can pass an array of items that you want to see. Here's the first one, comma. Here's the second one, comma. Here's the third one. So you can assert not only do they exist on the page, but there's, as, they exist in this order.

Jake:

Number 1, number 2, number 3, assert don't see HTML, as the last one. So yeah, those 3 assert CHTML assert CHTML in order assert don't see HTML. And if again, you can pass full HTML, values there as your assertions. So very nice. And then lastly for Gunther, it contributed a number trim method that trims 0 digits after the decimal point of a given number.

Jake:

So in the case that you have let me let me take a look here. Okay. So, like, if you had 12 dot 3460000, it's going to take off those zeros. It's basically gonna trim any insignificant 0 digits, And so that's that's what it does. Looks nice.

Jake:

Yeah. Okay. That's it. There is, of course, other, items that are fixes and things like that listed in the release notes. We will have those in the show notes for you.

Jake:

That is 11 dot 19.

Michael:

Wonderful. Into the news for this episode. First up, take the annual state of Laravel 2024 survey. The annual state of Laravel survey is Laravel. The annual state of Laravel survey is open for 2024 and you can participate to help identify trends in how the ecosystem has changed over the past 12 months.

Michael:

The state of Laravel survey is an attempt to gain insight into the representation of the diverse technologies and behaviors of our out outstanding community. The survey continues to build on servicing long term trends in Laravel and surrounding ecosystems over the last 4 years and collect statistics about developer demographics, text ad usage, development tools, production, and opinion categories. We've got a few different, trends that we've seen that, Paul has pulled out of the, the survey results from last year. JavaScript and TypeScript are dominant in the other, quote unquote, programming languages that the respondents used in projects. And they are ubiquitous languages, so it's no surprise that virtually everyone is using them in one way or another, whether that's via Alpine or if you're using Vue or React or or some other tooling, h tmx, all of that good stuff as well.

Michael:

Outside the JS ecosystem, Python remains strong with 25% of respondents using, Python and Golang saw a slight uptick from 2023 as well. And what are people using to make the front end reactive? Vue remains king in the Laravel framework and hold steady in the 60% range of respondents. React is increasing slowly and should be I mean, Paul here, who wrote this article, everyone's favorite human, says he would like to see a nice uptick in adoption in 2024. LiveWire will be another front end choice, and we have seen a steady increase in tutorials, projects, and developers sharing LiveWire related code.

Michael:

It'll be interesting to see how that goes. Pleasingly, most people that responded in in 2023 were on the most recent version of PHP 8 at the time, which was PHP 8.2. So 74% of respondents were running PHP 8.2 last year. So what have we got here? Oh!

Michael:

69% are running PHP 8.1 and 36% PHP 8. And of course PHP 8.3 was not yet released at the time of the survey last year, so it'd be interesting to see how that goes. But if you have not already, we will have links to the state of Laravel survey in the show notes. I believe the survey is run it's a community run thing by Tobias Petrie who has been, been around in a while been around for a while and does a lot of work for MySQL and things like that. And we will talk more about that in the next news item as well.

Jake:

Absolutely. I wanna encourage you too to take that survey. It literally takes probably 5 minutes. It's really quick, really easy to get through, and these surveys are only as good as the people who are taking them. Right?

Jake:

So make sure you're contributing your voice to that, to help us get a really comprehensive picture of of what the landscape of the PHP ecosystem, the developers, what they're using out there right now. So much appreciated. Speaking of Tobias Petrie, visual explain for MySQL in Laravel. So if you've ever done a MySQL explain and had to look at the output, it can be a bit daunting to try and understand. So Tobias Petri has created a MySQL visual explain tool, and this helps users to analyze slow queries by providing an easy to understand visual representation of that output.

Jake:

So, really is what it's helping you to do is decipher these cryptic outputs. Right? So that it's accessible to people without deep database knowledge. So it's interesting because you can just take your explain query and go paste it into the website, which is just, my SQL explain. We don't sure we're getting it.

Jake:

Yeah. My SQL explained.com. And if you go paste that in there, it'll give you a visual representation, which looks really beautiful, really nicely done. And, and then you can, you know, decipher what that looks like, and, and how that applies to your application, how you can then maybe improve, your, your queries, but it also has an integration for Laravel. So the Laravel package adds methods to the query builder with different options.

Jake:

So for example, you could write a query where you'd say something like, film, double colon, where the description is like this, and then you can at the end, instead of, like, arrow to sequel, you can arrow visual explain. And what that will do is that we'll take the result of that query, probably the raw the, you know, the explain, output, and we'll pipe it up to MySQL explained.com and give you a URL that you can visit to go see the explanation, the visual explanation of that. So that's, you know, whatever it is, your query arrow visual explain. You also have dump visual explain, which the URL to it will be printed to the screen. And then you also have, instead of just using, like, an eloquent query, you can also just pass in a raw SQL query, like my SQL explain double colon submit query, and then here's your raw query.

Jake:

And if you do that as well, it will also give you, the URL to that so that you can go visit that and see the SQL, explain visually the MySQL explained visually. So really cool tool, really cool plugin. It's both. It's a website, and it's a package for Laravel. So go check that out.

Jake:

Nice job, Tobias Petrie, for creating that for us.

Michael:

Yeah. He's been he's been talking about and working on that for for, like, a long time. And I imagine that it's not a simple task to, you know, not just interpret it at all, but then present it in such a way that it's easy to understand, you know, to to developers looking at it. So I work there, And check out all of the stuff that Tobias does in terms of, you know, his previous talks and his content that he puts out on, on using MySQL. It's, it's always very enlightening and very comprehensive as well.

Michael:

So check it out. Jason Beggs has put together a Versus Code snippets for Livewire and Alpine JS. This is a it's it's not a package. This is just some snippets that he's using in Versus Code. So he talks about how he configures snippets in Versus Code, what he sets up for use with PHP and Livewire.

Michael:

So, you know, if you type pub, it will expand to public and then put your cursor after that so that you can put in a public property. He's got things for computed properties, Livewire URL properties, and so on and so forth, as well as some, additional favorites for Belaid and Alpine JS. So console logging, linking directly to the Tailwind Play CDN if you're if you're trying to do some development and just playing around with some different Tailwind styles. You can do all of that without having to spin up the, you know, any build tooling or whatever to get Tailwind working. If you're using Livewire Vault's class API you might find it useful to include your normal PHP snippets in the blade configuration as well.

Michael:

But if you are able to find some of these snippets useful or at least get some inspiration for snippets that will benefit your own workflow, make sure you check out Calab Pozier's Make Versus Code Awesome course as well. Includes a whole bunch of other snippets that that weren't covered by Jason here and talks about theming and keyboard shortcuts and extensions and all that as well. So thanks to Jason for the article, and, check that out. We'll have a look for all of it for you in the show notes.

Jake:

Very nice. The next, item here is submitted by our good friend of the show, mister Matt Stauffer, who is, the, one of the partners at Titan, which is a development agency that specializes in Laravel and rescuing developers. And I what did he say? I can't remember. On the business of Laravel podcast, he has a thing.

Jake:

He's like, I work for Titan where we rescue developers and development teams, I think is what it is or something like that. So anyway, lots of good stuff. But today we are talking about a new project. It's actually not a new project, but it's a revamped project, which is built with laravel.com. And really what this is is it sort of reminds me of when you go to those conference websites and it has a, like, a PDF or a word doc that says, convince your boss, where, like, you send this to your boss to say, this is why I should be at this conference.

Jake:

This is like social proof for why Laravel is awesome. So, like, if you're trying to convince somebody, look, This is a serious framework. There are lots of people using it in the world, and let me show you some of them that are using it. Apple's using it. Curology is using it.

Jake:

So, Sweetwater is using it. Zillow is using it. Pfizer is using it. All these large, large, large companies who are using Laravel one way or the other. And the other thing that's really cool about it actually is if you click through those, it says, like, how do you know that they're using Laravel?

Jake:

And it'll tell you. Here's how many know they're using Laravel. Look at this thing. This proves that they're using Laravel. So it's not just like, oh, somebody one time told me at one point that they think they were using this.

Jake:

It's literally like, I can prove it. Here's how I know. So it's built with laravel.com, a list of companies and organizations using Laravel in the non Laravel world. This is the list to use when you want to show someone how widespread Laravel adoption is. And so Ali, is the person who used to own this and this this domain was generously donated to the cause.

Jake:

And so Matt bought a designer and spent the month of July designing and building out the site and now it's live. So, in addition to launching this as a, hey. Here it is. We're also asking for your help. So most of the time was spent designing and building the site, but the good news is that there's a suggestion form so you can share your own sites or more sites that you're aware of.

Jake:

So the primary criteria for being featured are a company organization that uses Laravel someone in their or somewhere in their organization, even if not on their public web page. The company doesn't purely exist to target the Laravel ecosystem. We can publicly share attribution of how we know they're using it and no packages or other code or marketing sites individual developers or agencies. So this isn't a way for you to just promote your package or

Michael:

Mhmm.

Jake:

Hey, we're a marketing agency and here it is. You know, basically, if we're trying to convince the CEO of a Silicon Valley startup, that Laravel is legit, would this organization help convince them that Laravel was a good thing to you? So if so, submit it, and, and there you go. So good stuff. Thanks, Matt, for, creating that.

Jake:

Thanks, Ollie, for donating the domain, and you should definitely go check it out. Built with Laravel.com.

Michael:

Yeah. There's there's also the distinction between this new site that Matt and Titan have built that's called Built with Laravel versus a community project called Made with Laravel. If you're wanting to submit, you know, your open source tooling or or your own bits and pieces to to things that you are using, then that would be the place to do it. Built with Laravel, again, as you say, is more around, you know, convincing bigger companies, you know, when you go into it, especially if you're in, like, an agency or or a contract or something like that, and you go into a business to do some work. And you say, I'm gonna, you know, build this with PHP and Laravel.

Michael:

And they go, you know, they scoff with your their antiquated opinions of of what PHP looks like. So this is more to say that, hey. These are some giant organizations using this stuff, and you should definitely check that out. And when you are building those things for those giant, giant organizations, once you get them over the hump, You're probably gonna want some kind of error tracking software to help you make sure that there are no errors in any of that code, and even if it does break, you can fix it faster using Sentry. This is application monitoring software that is considered not bad by 4,000,000 developers.

Michael:

Speaking of large companies, Sentria lists GitHub and Disney and Slack and Reddit and Microsoft and Flexport and Cisco Meraki as some of their customers, but but it helps you to identify, debug, and resolve your errors. It helps you to find the root cause by pinpointing the commit, the developer, the place, and the number of affected users. It allows you to automate everything, giving your entire team, up to the date alerts in Slack to a syncs of issues in Jira and tracking releases from GitHub, Vercel, and Netlify. And you don't have to just observe. You can also take action with tracing to see complete end to end path data that data takes through your distributed systems to pinpoint exact origins of an issue.

Michael:

So you can trace something from the incoming HTTP request all the way through to your queue worker to see exactly what happened and where. You can solve slow and fast. This is automatically detecting and notifying you of critical performance issues so you can trace every slow transaction to a poor performing API call or query and you can measure what matters by seeing impacted users and times of day metrics as well. So check out century.io. You can use the promo code, our everyone use, and get 2 months for free.

Michael:

Just check them out.

Jake:

Awesome. I sometimes forget about how spoiled we are. I actually had another guy on the IT team at our company who was expressing his frustration with some of the woes that he was dealing with when trying to trace PowerShell errors. And I'm like, Sentry solves that problem. And he's like, what's Century?

Jake:

And so I started explaining it to him. He said, you gotta be kidding me. It does all that stuff? I'm like, it does. And did they actually have a plug in for PowerShell too?

Jake:

So he's getting on that train. So I'm excited to see what sort of, you know, context it will give him as he's trying to debug these things because it is just a pain in the neck. I remember the days before we had Sentry, and it was no fun trying to get that bugs. Now I can literally just see exactly what they were doing before. I can see what buttons they were clicking on before the error happened.

Jake:

It's incredible. So anyway, definitely check it out. Okay. Let's talk about some more packages. This is less of a package, more of an announcement, maybe more of a tutorial, but in any case, Laravel advanced string package.

Jake:

So this is a new thing that we're doing, at Laravel News, which is this is a first episode of the creator spotlight video series where we talk to, Laravel developers about the things they're creating. So the person we talked with or that Eric talked with is Matt Stinson. Matt Stinson has been around in Laravel community for forever, a long, long time. I met Matt Stinson, I think, when I went to my very first Laracon. So I'm quite sure he's decent friends with Eric and has known him for a long time, but he has created a Laravel advanced string package that adds, extra advanced string manipulations, to the built in string class.

Jake:

So the package provides extended functionality on strings such as like password generation, data redaction, and things like that. So, talking through all the available methods that are in there and how you can use them, so Eric posted this one. You should definitely go check it out, and the GitHub repo is in the show notes and has installation details, API docs, all that stuff, and there is a YouTube video to go along with this. Just 11 minutes long. Eric and Matt having a nice conversation.

Jake:

So definitely check that one out. Thanks, Eric, for posting that one.

Michael:

Lovely. If you have ever wanted to upload files in your Livewire components using Filepond, which is a JavaScript JavaScript package that allows you to upload anything with popular integrations for React, Vue, Svelte and more, this package is for you. If you're using Livewire, now you can easily use Filepond to upload files within Livewire components using Sparce's Livewire Filepond package. The package contains a Livewire component that allows you to start using it in your Laravel project easily. You simply use the 'with Filepond' trait.

Michael:

You can pass any property that Filepond accepts and you can make further customizations using the Livewire Filepond component with options available at time of writing. It supports multiple file uploads, making the file upload required, the ability to disable the upload input, and providing custom placeholder text. You can learn more about the package, get installation instructions, and view the source code on GitHub. We have links to all of that, as always, in the show notes.

Jake:

In the show notes. I've had to create this myself a couple times, and so glad that Spasie took the burden off my shoulders and made themselves a package that we can all use. Speaking of packages, we have another one that allows you to add comments to your Laravel application with the commenter package. How many of you have needed to do this before? Hands raised.

Jake:

Yep. All of you. I see all those hands. Yep. The commenter package for Laravel is a feature rich, modern package that addresses all your commenting needs.

Jake:

You might be asking yourself, what does the commenter package do? I will give you one guess. It allows you to add comments to any commentable models. Right? So it also includes an admin panel to manage those comments across all of those commentable models as well.

Jake:

So what do the comments look like? Well, it's a section at the bottom of a page where you have top comments, newest comments, oldest comments, reply comments, my comments. On the comments, you have emoji reactions. You have thumbs up, thumbs down. You can reply to them, all that good stuff.

Jake:

And that's just in the demo project example. So it has a commenter and a commentable model. You can use this package with your eloquent models by implementing the commentable contract and the commenter contract interfaces. It's all there in the read me, and there's lots of great features like responsive, UI, WYSIWYG editor, syntax highlighting, security features, spam prevention. Thank God for that because we all need that.

Jake:

Pagination, list of users who redacted their, their comments, optimize performance, etcetera, etcetera, etcetera. The list goes on and on. So to get started with the package, you can read the commenter documentation. They have a really beautiful set of documents. It's not just a GitHub repo.

Jake:

They have a, documentation site. You can view the source code, of course, and Paul Redmond wrote this one up. So thank you, everyone's favorite human, for informing us of this great package.

Michael:

Excellent. The last package that we have here will help you to build SSH apps with PHP and Laravel prompts. The SSH PHP project by Sam Carrey, who is the creator of the Saloon package, is a ridiculously simple starting point for building text based user interfaces in PHP over SSH. The SSH PHP project uses Laravel prompts, Chewy which is a project by Joe Tannenbaum that helps you create text based user interfaces on top of Laravel prompts, and Docker to give you a foundation for developing and deploying TUI's over SSH using PHP. Running applications with Docker simplifies running an SSH server and includes a deployment script to run the Docker image on your server easily.

Michael:

During deployment, you can use composer and SSH commands to connect to a containerised app on your local machine. And connecting via SSH with the starter project, you'll see a prompt asking you to enter your name. You can learn more about this package, get the installation instructions, and view the source code again on GitHub. We have links in the show notes as always.

Jake:

Very good. Well, we've got 2 tutorials to round out the end of the show here. The first one is written by Ash Allen. I'll take this one and Michael will take the next one. We're talking about Laravel's model events.

Jake:

So Ash does a really good job here sort of just introducing this concept of events and listeners in Laravel. So if you don't know what these are, he's gonna give you a quick breakdown. But essentially, what this allows you to do is you can fire an event in your application in one spot, and you can listen for it in a completely different spot. You don't have to have the the classes bound to each other, tightly coupled. They don't have to even know that each other exist.

Jake:

You fire an event somewhere, and later on, your application can listen for it. You can have it be a queued listener where it will listen for it, and then it will later react. It's a really great way to architect an application, especially if you don't know all the side effects that are gonna be happening later on. You can just fire that event, and then later on, other things can listen for them. So how is that related to this?

Jake:

Well, we're talking about our model events. So in your Laravel applications, you can have events that are dispatched each time a model is retrieved, created, updated, saved, deleted, trashed, forced deleted, restored, etcetera. And you can also have their companion events like we're in the process of creating it. We're in the process of updating it. We're saving it.

Jake:

We're deleting it. Where it hasn't happened yet, but we're about to do it. So these different events get fired by default whenever your application is doing something with these eloquent models. And Ash Allen talks about how you can hook in to listen to those model events using dispatches events and how you can do all your testing and those sorts of things as well. So really, really great tutorial.

Jake:

If you've not used events and listeners before, cool place to start. But also if you're interested in, using or utilizing model eloquent model events as well, this would be a great starting place for you. Ash Allen, awesome job as always. Thank you so much.

Michael:

Fantastic. And the last tutorial we have, everybody's favorite human, Paul Redmond, is going to talk you through API versioning using Laravel 11. With the release of Laravel 11, the application skeleton was slimmed down to remove extra files that aren't required on every project, and part of that change removed all the service providers from the application source code. Great. It's a

Jake:

frog

Michael:

in the voice there.

Jake:

Koala in your throat.

Michael:

Yeah. And what was

Jake:

it saying in Australia? Koala in your throat?

Michael:

Koala. Is it a walnut? I mean, we say frog, but it's something bigger than that at this point. Another part of the updated application skeleton is removing API routes in the default installation. And suppose you plan on adding an API to your app or exclusively writing an API with Laravel, you will want to run the 'php artisan install API' command.

Michael:

This then allows you, as Paul helpfully outlines in this tutorial, how to version your API in separate files so so you can have multiple API route files. It talks about versioning the API specifically in Laravel 11. Doing, you know, API v1, v2, etcetera, etcetera. Defining version routes in your bootstrap file, and more. So check that one out.

Michael:

We will have links to that for you in the show notes.

Jake:

This is different for sure. You know, like, I'm sure there are tutorials out there for Laravel 10 on doing these things. We just talked about this recently, I think, on North Meet South, where it's like when you're using a Laravel 11 app, there are just some things that are different. And so it's necessary that you have something like this. We're talking about specifically API versioning in Laravel 11 because it is different.

Jake:

There are a couple of different places you have to register things and and, put things together. So thank you for creating that one, Paul Redmond. Well, hey, folks. That is the show, episode 220. Thanks so much for tuning in with us.

Jake:

You can find show notes for this episode at podcast.larryville dashnews.com/220. If you like the show, we would really appreciate it if you'd rate it up in your pod catcher of choice. 5 stars would be amazing. Of course, if you have any questions or comments, we'd love to hear from you on Twitter at Jacob Bennett at Michael Dorinda or at Laravel News. You can also check out our YouTube channel where you can watch this recording, on video, and you can see all the other cool things that Eric has been working on in the YouTube world.

Jake:

Thanks so much folks for hanging out. We'll see you in a couple weeks. Bye.

Creators and Guests

Michael Dyrynda
Host
Michael Dyrynda
Dad. @laravelphp Artisan. @LaraconAU organiser. Co-host of @northsouthaudio, @laravelnews, @ripplesfm. Opinions are mine.
State of Laravel, creator spotlights, and building SSH apps with PHP
Broadcast by