Infrastructure Management, Simplified
Automate Kubernetes deployments across any cloud provider or bare metal with a single command. Deploy, manage, and scale your infrastructure with ease. https://displace.tech/
Honeybadger helps you deploy with confidence and be your team’s DevOps hero by combining error, uptime, and performance monitoring in one simple platform. Check it out at honeybadger.io
https://www.epidemicsound.com/er helps you deploy with confidence and be your team’s DevOps hero by combining error, uptime, and performance monitoring in one simple platform. Check it out at honeybadger.io
[05:11]You’re listening to the official podcast of PHP Architect. This is episode 2025.11.19. And I am your host, Eric Van Johnson. And with me as always is John Congdon. Hello. Each week we talk about PHP and web development and what’s happening in the ecosystem. system, what’s new with the tools, and what it’s like to live and work as a developer. Watch this. We also keep you updated on all things PHP Architect. Our magazine, books, conferences, and everything else we’ve got going on. What’s happening?
[05:58]Good. Come on, you’re doing great. We record every Thursday around 3 p.m. Pacific time, except for next week because it’s Thanksgiving and we won’t be here. And we’re glad you’re here. This podcast is made a little better thanks to our partners over at Displace. Infrastructure Management Simplified. Automate Kubernetes deployments across any cloud provider or bare metal with a single command. Deploy, manage, and scale your infrastructure with ease. Thank you, Displace.tech, and we’ll talk about them a little more later.
[06:30]Are we supposed to tell me now? I don’t know. I don’t know what we’re doing anymore. This will be, this will be funny. If you’re listening to the audio version of this podcast, we’d love for you to join us live sometime. Just head over to youtube.com. Now I got to do both things. Uh, youtube.com slash PHP arch and hit subscribe. Turn on notifications so that you know, when we’re going live. Now you might be thinking, I’m watching live when I got the Chris, edited audio around here? Fair question.
[07:10]By joining us live means you get to be part of the conversation. You can jump into our Discord at discord.phparch.com and share your thoughts in real time and help shape the show as it happens. It’s a great way to connect with other PHP developers, get your questions answered, and occasionally watch us scramble to go with things mid-show. And also, it’s there all week. This is not just a only during the show is Discord around. The community in Discord is a fantastic group of people who hang out all week long. Or in Awood’s case, he’s leaving us right now because he’s deciding to go to an in-person meetup. Bastard! A Toastmasters meetup. Nobody does in-person meetups anymore have fun,
[08:04]we’re sending him very different messages John we are,
[08:10]we have a meetup I think Eric’s a little salty because we had a meetup last night which by the way the presentation was phenomenal yeah we’ll jump right into it why not, but we had four people there.
[08:27]Four? Yeah. We had five. Marcus decided, oh, my mom is landing at the airport and I got to go pick her up. So whatever, he left. He was there for the free food and drink and then bailed on me. Bastard. I think we don’t do a good enough job promoting the free food. Maybe that’s part of it. Well, I mean, the free food really shouldn’t be the motivator. No, it shouldn’t. But we also, I think we have on there 7 p.m. versus 6. Like i think we need to be six to seven social and then seven o’clock being the presentation i’m pretty sure i wrote six this last time but i could be wrong yeah i don’t know i didn’t go look at it but i just can’t believe what a hard time we’re having um getting a good turnout i mean plus the people who show up i we’re really happy that you’re showing up i mean you kind of keep us uh motivated to continue to do it but i don’t know man i thought people would be really excited to go in person again
[09:26]and i guess not i can tell you last night i am very happy we did not have more people what is that the the co-working place that we go to you always check with the owner we want to have the meetup this night and every time he said yes the conference room is available nobody’s in there again the cpr people were in there last night not only that we were gonna sit out in the main little area there the kind of welcome area and we’re out there just chatting and we’re about to put the presentation up on the screen the drum circle showed up the drum. Circle well thank god one with the drum circle i know damn it now i have his name and phone number he’s like yeah you can always uh send me a message and you know we can discuss.
[10:25]So anyway because of that those people are in the other room we went across the hallway into the other area and there’s like in the kind of walking area around the the building like there’s space around there’s a couch on the wall and a little tv up on the wall across from it and probably like, Four feet between those. Really? That’s right. Where were you guys bent? Oh, I forgot to return the HDMI cable last night. Whoops. Anyway. I’m pretty sure they have a couple of ours already, so. Yeah. Yeah. Well, I took it out of the main room. But we got cozy. Presenter stood, did his presentation. A couple of us sat on the couch. Another guy decided he sits all day and didn’t want to sit anymore, so he stood. Or also sat on a couch. just uh some other chair didn’t get cozy with us but miles did a great job he did writing php extensions in go with franken php and that’s crazy because that seems to be like a little bit of a hot topic
[11:42]now like i feel like i feel like recently we had somebody propose that as an article for the magazine and then i’m almost positive i saw a couple tech talks like that.
[11:55]So there were there were a couple of franken php tech talks for sure, this was fascinating one like i’ve been wanting to look into franken php i just haven’t yet and it turns out you have to run franken php with caddy the caddy web server because, it’s basically just a an extension of the caddy web server to give you the those performance increases um but yeah it was a great talk very interesting and then what was even better was afterwards we just sat there and chatted for like another, probably an hour afterwards just yeah it was it was good you’re really good at that you just hang yeah i i started shutting down like well you also have an hour and a half drive back home yeah well even even before the long drive home i i was never like the you know hang out after the meetup and social i’m just not a social person that’s why nobody likes me i felt bad yeah i felt bad because there’s only like I said four of us there,
[13:04]really only three of us talking the other guy that decided to stand or just sit on a like a stool.
[13:12]Listen but he didn’t really participate and I kind of wanted to look over and hey Johnny you don’t have to stay like you can you can leave but no he I think he enjoyed listening to the conversation and then, just stayed the whole time afterwards he waited for the last guy to leave it was good, I like your PHP Architect t-shirt there, buddy. Hey, thanks. Nice one. Yeah. Good design, mister. Thank you. Thank you. And for the record, all those stripes are precisely the same size and in the correct order. Just in case anybody’s wondering, there’s a lot of research put into that design. Okay. For the audio listeners, I’m wearing a PHP architect logo on my shirt and it is a rainbow pattern on the, our logo instead of our normal orange.
[14:06]Uh, yeah. So not to blow over that. Yeah. It’s a LGBTQ, uh, colors, actually not a rainbow, but yes. Same thing. Um, question for you, not, not to move on too quickly. What i so i’ve always been curious and like i said i’ve seen the top topic come up a few times about writing extensions with composer now and package management being what it is what is the driving kind of initiative of writing a an extension as opposed to a package, good question and we did talk about that last night honestly the for the vast majority of php applications you don’t want an extension or don’t need an extension it’s most of our slowness comes from being io bound talking to a database talking to a file system talking to other apis that’s where we get slow.
[15:14]If we were CPU bound, you may want to write an extension. And the example shown last night was doing matrix math, linear algebra or whatever. But calculating a matrix of numbers, he had a PHP example where creating two arrays of 1,000 numbers and multiplying them. And an extension version of that the php version took 53 seconds to do that math, the extension took like one and a half seconds what yeah so it his his thing was don’t just go write an extension to write it profile your application and if you can show that you are CPU bound in a doing a specific thing, maybe that’s when you reach to write an extension. The other examples are you need to interface with a an existing C library that you want to interact with. So you would drop to an extension to do that. Or if you want to interact with hardware that you can’t access in PHP. Oh, yeah, that would be interesting. Yeah, think of hardware drivers or whatever.
[16:42]Controllers, yeah. You have to get down to that low level to interact with them. So there’s a few different reasons to write extensions. And then he was, not only was he writing extensions, he wasn’t doing it in C, but he was doing it in Go. Right. Which means the extension only works in FrankenPHP. Oh, so that’s where FrankenPHP kind of comes into the equation. Right. You’re not… It is transpiling it, transcoding it, whatever. It’s making it a C extension, I think. But it’s not compiling it down to an SO file or a library that we can then use. I’m not talking to you. I’m not talking. He’s like, you don’t know what you’re talking about. Let me tag it. Tag it, John.
[17:37]Yeah. So it’s not compiling it down to an extension that you can just include in a standard PHP application.
[17:46]Interesting. Okay. All right. So when you do that, you now have a dependency of running FrankenPHP. And for those who might not know FrankenPHP, which is designed to be non-blocking for PHP applications, is also written in Go. So it’s FrankenPHP, but it’s written in Go. right and it’s a it’s another sappy like mod php or apache and php fpm.
[18:25]So, and it’s, it’s officially supported by the PHP foundation. Like they brought, I didn’t know that. Yeah. They brought it under their umbrella. It’s being maintained. It’s not, I mean, it’s not like you have to use it, but it is, it’s not a, it’s not going away tomorrow. Right. Right. That’s a great thing about PHP, man. And it’s like, it can play nice with other technologies better than any other thing I’ve seen out there. The conversation turned at one point to younger people in PHP. And I know that we’ve had that conversation a lot, right? It just keeps coming up a lot lately. Yeah. Right. We talked with Nuno about it a few weeks ago. We talked about it. And the guy drove from Orange County. So those that don’t know, Orange County is about it. An hour and a half away so he drove an hour and a half just for the meetup so one of the four people oh this wasn’t a regular or anything or no nobody was
[19:33]I think it was Johnny. That’s something special for them. Yeah, Johnny, I think, was his first time. And was it Carlos? I feel so bad now because he contributed so much to the meetup last night. It was about their first time, though? Yeah. So the four people that were there, I’m assuming the four people, one of them were you? Yep, me, the speaker, and then two other guys. And you and the speaker are the only regulars. Right. Oh. Well, I mean, that’s, you know, see, you got to spin it right. You just have to say half the people there, it was their first time to our meetup.
[20:13]Just have to know how to say it. Ricardo. Ricardo Dezio. Sorry, Ricardo. Yeah, he contributed a ton. And I liked one of his ideas. And you and I tried it back in like 2012, 2013, going to the local college and doing a presentation. But reaching out to the colleges and trying to get the, especially the computer science teachers to encourage their students to go to the meetups. And I said, yeah. And if we tell the professors that we have pizza and drinks, definitely we don’t have beer.
[20:58]As long as you’re 21. I still, we need to come up with another initiative. I mean, you and I even went as far as to, you know, talk about like coming up with new textbooks for them to, because our experience, and this was a long time ago now, this was over 10 years ago that John and I did it, but our experience was kind of shocking the way they were. It was a class that was designed to teach PHP and it was so far behind. It was insane. Yeah. it was 2012 2013 and they were still coding php like it was 2005.
[21:41]Very procedural is that what it’s called dreamweaver yeah that’s old yeah yeah uh they were still doing very procedural you know file or coding um a lot of require wants and And yeah, it was not, not good. Yeah. No, it was before PDO. They were already, they were using my, my sequel. Yeah. That’s right. Oh God. Connect. Yeah, that’s right. I forgot about that. Yeah, it was, it was. It was shocking, and to be fair, it was actually just before PHP started to blow up again. Like, before Composer came out. I don’t think Composer was out yet. It was close. It was right around that time. Yeah, it was getting really close. So all that, I would have to assume hope has changed a lot. But even still, I don’t think there’s ever been a definitive educational source to teach PHP. I always thought PHP the right way was a perfect template to start a good textbook from when PHP the right way was new. But I don’t know, man. You know, of course, being in the position we’re in now,
[23:07]I just kind of feel that more passionate about, like, trying to take the time and do it. It’s just the biggest thing with education, at least here in the States, I assume it’s secondary education probably around the world, is that a language like PHP changes so quickly. It’s just hard to stay current on the education of that language. Because it’s just like I mean granted things fortunately have started to at least hit a regular pace with PHP now where we’re not having these crazy like advancements like oh my goodness PHP is new again, but yeah it would have been tough there for a while.
[23:49]Yeah we’re now now we’re just now we’re just improving year after year everything’s getting a little better we have a good release cadence which is great yeah that’s the other thing is like we have this conversation a lot with between john and i between other people in the community about like why there are all these um these places you can go and learn javascript like JavaScript is just like, you got these programs that are puking out JavaScript developers left and right. And why is that? It’s just like, yeah, I mean, you don’t need any special tools, you know, you don’t even need, you just need a web browser and there’s no server component. And I think that’s one of the things that a lot of people forget who are learning PHP is that When you get to a certain scale where you’re actually doing it professionally, especially when you start looking at enterprise, that server component becomes
[24:53]extremely important. We talked about Frank and PHP. That was created for a need to make PHP faster. And you don’t really have that issue so much with JavaScript. And I don’t know. I’m sure there are initiatives. You say that, but when you…
[25:16]When you’re doing an application that scales to thousands of users and you are doing stuff not optimally, you realize you run into people that they have older computers.
[25:33]And we just throw code at our servers because we know our servers can handle it. And then we’re usually running better machines And we’ll write JavaScript to do something and not take into account what it may, how it may work on the end user’s machine. Because, again, that JavaScript runs on their computer, not yours.
[26:00]We, one of our clients is working on an application now. Now, intentionally doing something in JavaScript in the browser instead of a server as a shortcut, right? We’re trying to analyze the transcript of a phone call.
[26:24]And they’re going to do pattern matching. And we have lots of patterns to match. And that’s just something that has been talked about. Got to remember, on an older machine, this may really slow it down or make it unusable. And it’s a stopgap. It’s not meant to stay in the browser long term. It’s, let’s get it done, prove it out, and it may die in a month. and maybe pulled out.
[26:56]We just want to see how effective it is and then decide, do we continue doing it this way on a server or do we do something else? Yeah.
[27:08]Coming in from our Discord, and if you’re listening to audio podcasts, this is why you want to be part of the live show. Skimmer says, Frank, PHP is great for Docker images. The code start is much faster than normal PHP images. Which is an interesting statement case for what I was about to say to Jeff, who followed that up with as a PHP developer who works mostly with Laravel applications. I use Laravel Herd locally, but I may try and try out Frank and PHP to test it out on my own. I was about to say, yeah, I mean, if you want to test Frank and PHP out, go ahead and do it, but I’m really not sure there’s an argument to be made to use it for local development. And then Skimmer had already made the argument. It’s like, yeah, if you’re a Docker person, FrankenPHP is a much faster container to load up. So that’s interesting. I think Docker would actually be a really good way to package up Cavi,
[28:10]FrankenPHP, you know, as a server. That was actually good. Right.
[28:19]But if you’re running freaking PHP in production, you’re probably going to want to be running it locally.
[28:26]Yeah i i am a fan of that yeah yeah especially if you are using the features of frank and php that make it a little more concurrent make it a little faster because they they offer, instead of calling them co-routines which i think is the traditional term they’re called go routines in PHP. See what they did there? To do a little concurrent work. Yeah. I have to admit, I’m probably the biggest offender of this, but I’m also a big believer in your local development environment should match where you’re deploying the code as closely as possible. That’s why I was such a huge fan of Docker, and I was on the Docker bandwagon hard.
[29:19]I pivoted a little bit to Lando just to manage multiple projects better in Docker. But I was a huge fan of Docker. Then John’s like, hey, you ever thought about using Herd? I’m like, never. No. I want it to be like production. No. And I’m going to go ahead and get a license. And then I installed it. I’m like, this is fucking awesome. I’ll never go back. Yeah. it’s like docker is great except for the port management like just being able to, surf to your website and with herd you can whatever your project is that test and you’re off to the races you don’t have to worry about what port am i on or well crap i gotta shut this container down to fire this one up because i want to be on port 80 because it’s just easier right and i’m that was my big attraction to lando because lando’s the same way right it did port management for you um so yeah kind of the same thing. And, but, but like you still had multiple like Docker instances running and
[30:32]I just like the, the cleanness of herd. I don’t know. I need to break myself of it, but I just can’t right now. It’s just, and I like as horrible it is for me to say, I would have to say that development for me now has become such a smaller part of my day to day. Which kills me, but I, I have, I have surrendered to it and feel like I’m, we’re doing better as a team because of it, because I’ve like really have, have focused on, you know, how keeping track of who’s working on what in, you know, following up, making sure things getting, are getting done. I don’t know. I think we’ve, we, we do better as a company like that, but I just hate it. I mean, I don’t know. But you’re so good at it. I don’t hate it. I’d rather be coding, I guess, is the better way of putting that. Yeah. Fortunately, we have such a good team. That’s why I don’t hate it. It’s the team. I mean, they’re so great. Except for that one.
[31:44]Yeah, we all know who that is, right? I don’t think I would mention names. They know who they are.
[31:55]Oh, my God. All right. Before we go to our partner, I want to point out the ticker down here. It’s constantly running. If you are interested in PHP Tech or JS Tech, please think about purchasing a ticket sooner than later. We are getting ready to end the early bird next month at some point. Eric and I are hoping to finalize the schedule maybe tomorrow. Possibly oh yeah that’s right we’re gonna be hanging out together tomorrow aren’t we yep yeah we could do that get those uh notifications sent out yep i know people are chomping at the bit to know if they were accepted or not uh the jstech call for papers uh has been extended through the first week of december uh we have a team member speaking at a conference an online conference today or monday anyway sometime soon and decided to give them the opportunity to bring up js tech and get people to submit if they want to yeah so yeah we extended that uh joe yes uh herd does allow some
[33:08]customization per repo mainly the version of php you’re running, I don’t think you can do MySQL versions like you can in Lando. So in Lando, you can have customized versions of MySQL and PHP and Melee. I mean, basically everything. Because it’s all Docker containers. It just manages. But with Herd, you can just do, I’m pretty sure you can just do the version of PHP. You can have multiple versions of MySQL installed, but it’s not like dependent on UgiPub. All right. Let’s hear from our great people over at this place.
[33:51]Thank you to our partners over at Displaced Technologies. Building PHP applications is your passion. Managing cloud infrastructure shouldn’t be your headache. Displaced is your partner in cloud infrastructure orchestration, giving solo developers and small teams the tools and automation to deploy enterprise-grade Kubernetes clusters without the enterprise-grade complexity or cost. Their CLI tool streamlines everything from local development to fully manage cloud deployments on AWS, Azure, Google Cloud Platform, and more. Skip the steep learning curve of Docker, Kubernetes, and Terraform. Let their automation free you to focus on your core business without losing control of your infrastructure. Get started at displace.tech, that’s D-I-S-P-L-A-C-E dot T-E-C-H, and discover how the right tools can eliminate the need for a full DevOps team.
[34:59]Yeah, something came to mind with that displace. Oh, yeah, we might have, it sounds like we have a new partner who might be coming on. I’m excited about that. Nothing to talk about there. Oh, I meant to follow up with you, actually, on your question from this morning. I won’t bring it up here because I don’t know the relevance. But, goddammit, John, there was something else I want to talk about. But I’m sure it’s super important. Yeah. Today’s a big day though. Today is a big day. I forgot. I forgot. I forgot to set it up. Oh, look, I want to, I want to show this. See, it doesn’t show up in my camera. Oh man. Look, look what I got up.
[35:43]Does that show up? your Batman logo. I got to switch sides with the Batman logo, man. Okay, let me share my screen here,
[35:55]All right, let’s start here. PHP 8.5 was released today. Very cool stuff. I thought it was going to be next week, but I guess they released early. So happy 8.5 release day. And guess what? It coincides right with the magazine being released. PHP 8.5 explodes onto the scene. Oh, yeah. Let’s open that up. That was, that was, uh, Tim, you should have said something about that. I just put it together.
[36:30]Where’s that? I’m getting there. I’m getting there. Boom. Share it. Share it. It’s on the site. Where’s the share thing? There you go. Yeah.
[36:40]Look at that. 8.5 explodes on the scene. Yeah. Good timing. It’s like we planned that or something. You might think.
[36:52]So a couple of 8.5 articles in the issue this month yeah super excited about it,
[37:03]obviously we won’t be using it in production for a few months but it has started its march i want to say months probably probably a little less than that you think yeah i’m a fan of Getting to like 851.
[37:23]Oh, the next miner? Yeah. That makes sense. As people start using it. Finding out things. Yeah. I might try installing it on a server and then moving PHP Tech over to it. Like some of our other sites that aren’t really going to go down. I’m sure we can do PHP Tech for sure. Matter of fact, PHP Tech might actually be on 5. I got to see what I have. Speaking of customizing herd, see what I have heard set up for online. Cause I usually do push that one forward pretty hard.
[38:03]Yeah. All right. We got a couple of, uh, smaller, uh, blog posts about eight, five. Which one do you want to talk about? Uh, let’s go with the first one.
[38:14]What’s the new? The performance. Yeah. I’ll move that over. I’ll move both of those over.
[38:25]Performance i mean every version of php gets a little bit faster they’re constantly finding performance improvements is it going to make a huge difference to your application, probably not uh this first one was funny a lot of people do this array equals equals equals empty array i’ve never liked that i’ve always been just a fan of if you just care if something’s in it like if array and if you want it wondering if it’s empty i do if not array,
[38:58]And I guess prior to 8.5, doing the array check this way was the slowest way to do it. Now they’ve optimized it. Now it’s the fastest way to do it.
[39:10]But again, you’re talking micro-optimizations and it’s not worth your time to change the code.
[39:18]Their thing is write what is readable to you, like what makes sense and what is readable to you and your team. And the chances are php is going to catch up and make that the fastest way because people have been right some people like it this way yeah and they didn’t micro optimize to go the other way and now that’s faster than the other ways there’s optimization to match as well huh yeah so i don’t they’re showing a 17 on like this specific code which i don’t fully get i don’t know why they’re doing not PregMatch.
[39:57]I don’t know if it’s just example code showing that the optimizations are working well. But I use match true a lot. So whatever optimizations they can do to speed that up is great. I mean any optimizations they do anywhere is great. What am I talking about?
[40:20]Speaking of optimizations, we were talking about extensions before right and there last night so i’m going to deviate from eight five just for a minute last night the speaker pointed out we already have a lot of extensions the json is an extension so json encode and json decode actually run through an extension where people always assume JSON encode is going to be slow. Or json decode because because it’s in php so of course it has to be slow. People have been trying to optimize it make it faster not realizing no it’s running in c it’s, really freaking fast yeah i you know it’s funny uh when i first started using laravel, uh laravel had helper classes is what they called them before and i used to think like like half of these helper classes could be extensions in php because and some of them are now i know one of the recent releases of eight uh did a bunch of old array helper classes from.
[41:37]I don’t know if they were inspired from laravel’s helper class or not but they they pretty much matched the way laravel had created their little helper classes so yeah you know actually wow Well, yeah, you talked about writing extensions. See, I always struggled to think about where I would start writing. Like, I’d love to try to write extensions, but I couldn’t figure out, like, I don’t know. I’m so used to figuring out what the confines of my development environment is and working within those restraints. And I struggled. that’s one of the few areas where i struggle to think outside the box of well let me think if i could create an extension for this thing i’m trying to do that seems to take a long time, like couch db would be a good example for that for me like it’s very niche it’s something i deal with and i have a lot of code that i i started to produce that allows me to interact with couch in a very structured way within PHP, but like, I don’t know.
[42:44]Like that might be something I could make into an extension, but yeah. Yeah. And then like, again, the helper file, I was like, what Laravel helpers do I use the most? Would that be better as an extension? Like what I see, you know, is performance an issue with the way it’s done now? Right.
[43:03]We got the profile and figure it out. Yeah. Profiling. Yeah. Yeah. 100%. There’s, there’s conversation in discord about some other, like that, that first one we talked about using empty. And i don’t know why just i’ve used empty like if empty array and it just never felt right to me i just didn’t like the way it looked for some reason but it does read well like if the array is empty right yeah very true yeah persistent curl handles for dns connection and ssl handshake Yeah, I think I got so turned off to the persistent connections back in the day, like back in the early 2000s, because we had we had like persistent database connections and.
[43:54]There was like foot guns. I like shot myself so many times trying to use those things. I just said, why isn’t this working? Why? And then you realize, Oh, it’s something left over from the last connection. And just, so, and I don’t use curl enough. I mean, I use it, but I don’t know if I would see enough of an impact to need a persistent curl connection. Yeah. Like this is something I would be very dependent on like package managers. To see the benefit on how it applies to their package in using it. But yeah, to your point, I don’t do enough raw curl where I’d look at this and be like, oh yeah, let’s use persistence. I just don’t. It’s just not a big need for me. But if your application is mainly doing an API request to another service over curl, I can see that being a very beneficial thing. Like I have this connection already. Let me… Make another request. Very true. Very, very true. We got some other stuff. Improved performance.
[45:04]Exceptions. Improved function performance. Operations.
[45:10]That one’s saying Opcache is now going to be installed by default. You no longer have to remember to ask for it. It’s part of PHP. I don’t even think you can turn it off. It wasn’t before? No. Oh. I mean, a lot of the…
[45:31]Pre-built binaries would have it installed already, but it was an extension that you had to enable or install if you didn’t already have it.
[45:44]Upcache file, cache, read-only support. That makes a lot of sense. Yeah, yeah, yeah.
[45:52]Max memory limit. Yeah, I think we talked about this one before, but I use INI set all the time. Actually we actually we use user properties a lot on the application I work on so I could say you have, some key value pair basically and in there in certain situations, I can increase the memory for you by setting a key value and say you can use up to you know 4-6 gigs especially running large reports,
[46:28]but i could see this being very beneficial yeah like at the server level you can’t go over four because i’m sure you know i did that knowing i’m not going to set it to something stupid but once it’s released where like customer service can go in and the customer keeps complaining they’re like i’m just gonna make out 128 gigs that was me baby across the board there you go.
[46:56]PHP build provider I’m not familiar with this what is this do you know what this is I do not know oh okay,
[47:05]Yeah, I don’t know what this is. I’m sure people in our Discord probably do. Who’s responsible for the build?
[47:16]Oh, so I guess, like, yeah, I see. I see what they’re saying. So, oh, all right. So, like, Linux, Stitch, Bros, and, yeah. Wasn’t Ubuntu-provided build versus something you got from someone else?
[47:33]So so the big thing is with the new php constant you can now also access this information at runtime again not really sure how that’s helpful but okay cool, uh i and i maybe it’s a security thing maybe you need to make sure that you’re running on a don’t fucking get me started on security i hate you right now because.
[47:57]You are not invited to my next wedding because of the sock shit,
[48:03]you don’t wear socks anyway I don’t have socks in the nail oh wait where’s my foot that’s me I don’t have socks in where’s my foot, where’s my foot god damn it I don’t bend that far I don’t man I don’t,
[48:24]I don’t I and I equals diff this was a lot of people kind of like this I like it I think it’s a great idea Yeah. Have you shown the difference from the default? Yeah, I’m guilty of when I’m, writing something and I need to make a change to the INI, I may change four or five different things, trying different things out and forget what I’ve changed.
[48:50]This makes it very easy to see what’s changed.
[48:54]Yeah. So lots of things in here. Uh, this was Benchus. Yeah. So snazzy looking guy all right we have another one from our friend over at uh stitcher yeah right right i assume so as well he writes fantastic blog posts he’s he’s got he’s got one of those smooth voices to listen to as well so his videos are always great that’s how i like to go to bed listening to print videos i’m sure he wants to hear that we don’t really have to go over a lot of this because we’ve talked about so much of it in the past pipe operator huge i think i think that’s the big one everybody talked about pipe operator everybody talks about pipe operator right uh yeah gonna be cool um clone with wow i haven’t used clone in forever in a day yeah i still use it um not as much as i used to used to use clone all the time yeah but now But now you can call clone and as you’re cloning, you can change some attributes of the of the clone. Hmm.
[50:12]Avoid casting. No discard. Okay, remind me what no discard is. Somebody explain this to me. Yeah, no discard is basically if you put that on a method outside, if you call that method and you don’t assign it to a variable, you get a warning. It’s the developer saying I’m returning something, you should probably use it in some way. It’s not forcing you to use it. It’s just, it’s just saying assign it to a variable. And now at that point you, you should see, oh, I’m not doing anything with it in your IDE, right? It’s an unused variable. And you’re like, oh, I calculated the tax. I should probably add that to my total. Or I was going to say like, why would, why would this like, um, see, how would I word this best? I guess not. Why would this not be the default behavior of a function that does a return? But like why would you not use this on every function that you have a return for because there are plenty of,
[51:18]there are times where I call something and I don’t need the return. What’s being returned. Cause sometimes it’s returning a bully and just saying it was successful or not. You don’t have to check it. I mean, I ideally you should, but have to.
[51:41]So I guess that would be the good argument for not making the default. lot. I feel like I would add this at least initially, this would probably be one of the things I will overuse initially thinking that, oh yeah, I want this everywhere until I realize I don’t. Yeah, you probably don’t.
[51:59]And this, and this is just the message that’s in the, in the warning. Right.
[52:16]That looks super weird that one i have not looked into at all, this is closure in first class callables can now be used in constant expressions in practice this means you’ll be able to define closures in attributes which is an incredibly which is an incredible new feature what this gives me this gives me the willies man like i don’t know why i don’t like it it just doesn’t look good to me oh interesting though yeah yeah i i need to read up on it more because i’m not fully grasping or grokking what it’s trying to do, Who thinks of this shit? I want to know these. These are the questions I have. Backtrace on Fatals. I think this is great, actually. This is, I think, long overdue. Yeah. Oh, for sure. Backtrace on Fatals are fantastic. It is, except for a lot of these, they’re not deterministic. Like, when you have a fatal error, especially like a timeout, it could be at different points in your script.
[53:32]True i think that’s traditionally why it wasn’t there in the past uh but i’ve run into a plenty of times where i’m like just where did it die and usually it gets right usually gets you close enough to be like oh i was in this loop doing something for 30 seconds or a minute or five minutes whatever your timeout is so yeah long overdue i think i think this is an example of what I was talking about earlier, Ray first and Ray last. These are examples of, they were helper classes in Laravel for years, and now they are part of the actual code base, which is really cool. It’s kind of crazy. It’s like, why have we never had this? Right. Which means, because it’s in the code base, it’s going to be way faster than the Laravel helper method that does the same thing. Right. Yep. URI parsing. this is cool actually this is really cool again.
[54:35]Wonder why something uh laravel has classes why you would want this no no i know why you would want this but oh like why is it new what’s changed well i don’t think i so again this is something that was available with laravel’s uh http uh function yeah luminous has it but i I don’t think you could always do, Git schema, like HTTP, HTTPS, Git Hose, Git Port. This is what you can do with it. You can with, well, I know with the Lominus version of it, you can. Right. Well, that’s the thing. I think a lot of frameworks you could. They did their versions. But again, if it’s part of the language, it’s probably going to be way faster than any user land implementation. Yeah yeah i like this especially yeah yeah cool the validation attribute what how how am i how do i feel like i’m first time reading some of these things some built yeah i’m like right yeah there’s a lot in here that i didn’t know was part of this release delete allows you to postpone that validation to a runtime time.
[55:55]Oh, this is fascinating. Okay. Yeah, I can’t talk about this one. You can read a concrete example here.
[56:06]Let’s do it. But it’s a long thing. Oh, yeah, it is a very long thing. We probably should have read it beforehand. We should do our research before we start talking about this live. What did we say at the opening? This is when we start Googling shit really fast.
[56:25]Oh man, it seems like we’ve been talking about 8.5 for so many months now, and things like this creep up. This had to have come across our radar at some point, and we just ignored it. Because we’re too busy talking about the pipe operator. That’s right. Anybody who is interested in any of the stuff we’re going over, whether you’re listening to the audio podcast or here with us live, we’ll have show notes. You can catch our show notes on our blog at phparch.com. And all the links will be in there. Leo, what if you use it in a rate? I’m not sure what you’re talking about there, Leo. Sorry, I was on another screen. I wasn’t watching Discord. So I’m not really sure what you’re talking about there, buddy. Yeah. So, yeah. Speaking of our Discord people, I love our Discord family, our community over there. This morning, was it this morning or yesterday? Somebody was talking about our site, PHP Tech site.
[57:36]And php tech website is missing links for youtube and discord and then later later on they they, decided that they may open a pr so by the way our php tech website is open source and we do accept pull requests i actually merged one in today uh maybe that’s maybe it’s that one No, no, no. It was a layout issue that somebody brought up. Let me see what that was so I can give them some credit. Because they reported the issue, and then they opened up a PR for it, which is fantastic.
[58:20]Let me see. Latest pull request. Closed pull request. Here, I’ll share. This is open source.
[58:29]Uh, go down here, down here, make this bigger. Uh, this is only probably kind of like making everything bigger. Uh, yeah. T var S, uh, did it. Um, yeah, they just, they just, uh, credit, credit a, and like I said, they, I just actually just closed the issue too. So, uh, closed issues. Oh, we, we need to teach them how to link the issues then. That was my fault. i i did the pr i i and i commented i should have i should have just added it to the comment but i didn’t yeah so so it was the issue with the mobile app the the layout was green i wonder if it’s because it says addressing that one i wonder if do you have to say fixes and then it closes it because there’s something you can do when you link it to say it will automatically close the issue as well yeah i thought it was just if you if you reference the issue in the um in the pr, well they do they did reference it so oh did it did they oh yeah but they just
[59:34]said addressing i think you have to say fixes or there’s a handful of verbs you could put before and that would do it,
[59:44]Oh, yeah. Address is 29. Yeah. Yeah, you’re right. Because I did close it myself.
[59:54]Well, thank you very much for your contribution. Thank you very much. We have new swag coming to our swag store. Oh, really? Yeah. That’s at store.phparch.com. um we are going to be uh having uh php arch beanie because i left the house today and was fucking cold and i didn’t have a beanie,
[01:00:23]so i’m gonna i’m gonna add one to our store so i can buy it,
[01:00:29]that’s how most of our stuff gets in there man i’m like oh i wish i had this and then i that i can make it and order it that’s funny so yeah all of our all of our swag uh stuff my my wife is not a fan of that one the middle one there this one the ink the inkblot is not a fan not a fan of it why it’s my favorite i i like i i like it too her comment was it looks very phallic what,
[01:01:11]Why why did you say that god damn it I mean that can be said about a lot of look at that it’s really phallic what’s he showing under that thing that looks phallic it’s an elephant it’s a phallic looking animal okay, it’s hard not to look phallic with when you’re an elephant.
[01:01:33]That’s what I said. It’s an inkblot and it’s an elephant.
[01:01:37]I was so proud of when we thought that. We actually thought that in a bar. We were drinking. Like, what are we going to have for the magazine cover? Hey, I just saw in the bathroom they had inkblots. Let’s do that.
[01:01:52]Yeah, we have a community corner. Maybe we need our own t-shirt. Jeffrey, it gets into the 60s in San Diego, in SoCal. It gets freezing. It’s freezing at 50. I know we are spoiled little brats. 100% spoiled. Let’s be clear. 100% spoiled.
[01:02:17]I think, I don’t know why I thought you talked about living, the things, the challenges of living in Southern California. Um uh back my wife and one of my kids were in la yesterday and they got to go to a uh movie premiere the new wicked movie uh i guess comes out tomorrow officially yep but they got to get to the premiere well there is a restaurant it’s it’s it’s all over the place but there’s one in new york there’s one in chicago and there’s one in la and whenever we’re in any of those cities we like to try to make it there is Eataly. It’s a big grocery store restaurant thing. It’s one of my wife’s favorite places to eat. So the Eataly place where they wanted to have lunch was four miles from the mall where the premiere was happening. So they’re like, all right, let’s go there. And I had even told my wife, I’m like, you know what? I would 100% park the car and. The place where the movie is uber to
[01:03:22]the other place and then uber back because it’s going to be a lot of traffic and if you get if you don’t time it right you know you’re just gonna have a problem four miles four miles away now they drove guess guess how long it took him to drive four miles i’m gonna guess, 37 and a half minutes. Very close. Over 45 minutes to drive four miles. Wow. I’m pretty sure they could have walked it faster. At least a brisk walk. And that’s typical of LA. It would take you in.
[01:04:01]Most of us are going to walk three miles an hour, so it’s going to take you in. Okay, Mr. Science Guy. I was trying to be funny, but whatever. Yeah, okay. All right. Whatever. I have an issue where I got to. My wife hates you yeah you just stop right there you have issues yeah we i had i had my friend uh, my friend from toronto weirdest thing that ever happened to us in la actually um we had uh one of our team members actually lived in santa monica and uh we were in la i forgot why we were in la, But we met, my friend had flown in from Toronto. They were going to a wedding at Joshua Tree, which is a desert area east of L.A. So they were going to a wedding at Joshua Tree. So we met them at Eataly again.
[01:04:56]And my wife and I stayed the night by the Santa Monica Pier. And we’re out walking the next morning to meet the team member for breakfast at a restaurant that was down the street from the hotel so we’re walking there to meet them and i see my friend from toronto again walking up the street i i told beck i’m like that looks like matt and it was it It was men. So, yeah, we ran into them. And they told me, so they were staying by the Beverly Hills area. It’s hard to explain if you don’t know it. But all this stuff is really close. Like, if you look at it on the map, it’s all very close. And they said when they left Italy to get to their hotel, which is… Was again maybe a 10 mile drive maybe less than that it took him over two hours to do it it was like people just don’t understand la traffic like the jokes are real man like it’s just everywhere you go la is like if if i drive to la in the middle like at
[01:06:11]one in the morning it would take me about an hour to get there i have to i’m leaving after the show today I have to take my kid to LAX it’s probably going to take me over two hours to get there, and there’s no reason for it there’s literally no reason it’s not like it’s two hours away it’s just freaking LA man it’s horrible traffic is just that bad that’s good,
[01:06:39]Alright please tell your please tell your kid thank you for rearranging the schedule so you could be here today, yeah total credit to them because i was i was canceling on john and uh you know and then i cried and there was a lot of a lot of tears tears we’re hanging out tomorrow though so it’ll be it’ll be a good time and down to san diego and get take the car into the shop and hang out with john so it’ll be fun all right uh we are actually over john i know i can’t i can’t allow this you don’t pay me for this extra time. I don’t pay you anyway. That’s true.
[01:07:23]We really need to talk about that. All right. I think that’s it. Anything else, John? Anything you want to talk about? Anything you want to bring? No show next week. No show next week. We’ll see you in two weeks. See you in two weeks. For our US-based people, I hope you have a pleasant holiday. It’s Thanksgiving here, which is one of those, holidays that like you know nobody knows how to celebrate it anymore all we know is we’re off works so like what everybody clings to but uh yeah see uh see how next oh look sarah comes in oh yeah sure come in now sarah sure whatever you should take it personal what did i say personal to you oh oh yeah uh cool all right uh thanks everybody for hanging out with us, i was just saying sarah shows up we leave bye that’s right that’s how i should all i said we should always end the show. Sarah shows up and we just end the show. We don’t say bye anymore. We just run the end credits.
[01:08:24]This has been PHP Podcast. The official podcast of PHP Architect. The industry’s leading tech magazine and publisher. Focused on PHP and web development. Subscribe today at phparch.com to see what the leaders in the community and industry are talking about.