Go back

Episode 7 - Why People Don't Like Their Jobs

from Talks with Dr. Teal

15m 30s

Episode 7 - Why People Don't Like Their Jobs

POPPHP is a lightweight, transparent PHP framework developed by Nick Sagona to address the shortcomings of overly complex or opinionated frameworks like Laravel. Designed with transparency in mind, it avoids "magic" by showing developers exactly how their code executes, enabling greater control and understanding. Rooted in Nick’s personal experience of building reusable components in the early 2000s, the framework evolved into a full-featured yet minimal solution with core components such as routing, database access, and PDF handling. A major recent update significantly improved its interoperability, PSR compliance, and ecosystem integration. POPPHP appeals to developers seeking simplicity, clarity, and autonomy—especially those new to PHP or wary of steep learning curves. The framework is praised for its clear documentation and ease of setup, with users able to quickly spin up APIs or small applications. Nick emphasizes community growth through awareness, contributions, and open feedback via GitHub. The project remains a personal and practical choice for Nick, who has successfully used it to build substantial applications in real estate and title technology. He encourages developers to explore POPPHP at popphp.org or github.com/popphp, highlighting its value for those who prefer visibility, control, and a minimalist approach to PHP development.

Transcription

3106 Words, 16353 Characters

English
Hello developers and welcome to the PHP Architect Community Corner, where we have conversations with members of the web development community. I'm your host, Scott Keck Warren, and today we're talking with Nick about his framework "POPPHP". Nick Sagona is the primary maintainer of the POPPHP framework and the CTO at BM4 Technology, a small shop located in New Orleans. The company is focused primarily on building solutions in the title and real estate industry. He's been working with PHP since the early 2000 and has really enjoyed having a front-row seat to how the language has evolved over the past 20 plus years. Like many, he was drawn to the low barrier to entry, but quickly came to appreciate how great a truly is. To solve common problems in his early career, he set forth creating a small library of reusable components. That library eventually grew into the POPPHP framework and it's been the core of everything he's done in his career. It has allowed him to quickly build flexible and robust systems to provide solutions for the companies he's worked for over the years. We're not writing PHP, he enjoys playing music and building amps. Thank you Nick for finding some time to talk to us today. Thanks for having me. It's great to be here. Yes, absolutely. So I think you kind of came across my feed because I saw something. I think an RPHP about how there was a new release of your framework. And you kind of talked to us about how POPPHP is different than the other more well-known frameworks and where it fits. Yes, so what I tried to focus on with the framework is I had seen frameworks that were very large and had a big barrier to entry. And I had seen frameworks that were pretty opinionated and had to go with the magic box that they provided you. And I was trying to land somewhere in the middle. Somewhere where there's a pretty low barrier to entry, not too crazy, but yet not too opinionated to where you just had to go with that flow for that framework. So that's kind of been the mantra since the beginning. And I think it's worked out pretty well. Again, it's not a huge framework out there, but it served me very well. And there's a few fans out there. Yeah, absolutely. So I think that the thing I found really interesting about it when I was looking around is it says, on your home page, it says, no magic, just PHP. It's a framework built for people who want to see what their code is doing and just lean on the power of PHP. And I really think that's an interesting concept, because I primarily am a layer of L developer. And there is a lot of that like, well, we do this thing and then something magical happens and then the code essentially renders. And we're constantly fighting routes and things inside of our application to be like, well, this route should be showing if it's this and so there's all of these. But we just can't, it's opaque to us. And so how is that been, why is that the forefront of your framework? Well, I just, so when I started the framework and it started as a small library of components, I was younger, had more time. I really wanted to see what was going on under the hood more. And so I started building my own classes and my own components. And at all times, I wanted to see what was in front of me and not have something just kind of abstracted away where I didn't know what was going on. So yeah, with Laravel, when it really started to pop years ago, I took a look at it and even in the beginning, I was like, yeah, this is very nice and I could see why it's popular. But it just seemed a little too magic and abstracted for me. And at the time when it crossed my desk, I was already pretty knee deep and maintaining pops. So, you know, a lot of friends say, hey, why don't you just use Laravel? And I was like, I kind of like wear a mat with pops. So I'm going to keep going with it. Obviously, Laravel is huge and in a great ecosystem inside of PHP. So, but, you know, I just wanted to keep going with pop and see where it could go. You brought up a version, the version that was just released was a big, big push. It's probably one of the biggest upgrades of the framework, which is kind of why over the years, I've never done much push of the framework or marketing. And it's why I kind of, you know, try to do a little bit here, post-unread it and kind of update some things out there because it is the biggest version upgrade in quite some time to try to make it more interoperable, play well with others, better PRS, PSR support, I'm sorry. And so that's why I made a little noise about it this time around, you know, so. Yeah. And so I think like the thing I'm kind of used to is like a full framework. And do you call this a micro framework or do you have a different term for it? I would say it's more than a micro framework. Is it a full, full framework? I don't know what you're, who's crying? Everyone's probably got criteria, what defines a full framework. I think it will definitely get you there with most of the components. It's got I think all the checks, but a lot of the boxes to be at least a basic full framework. There was, it's funny to say micro framework because before this upgrade, there was a micro framework spin off a pop called popcorn, which was just a single class that in later on top of the main application class that helped enforce, you know, HTTP method for routing and all that. And I just went ahead and got rid of that and folded it right in directly to the application class. So now that's merged in. But I was the only kind of micro framework there was with this pop itself, I think, would be more of a, at least a basic, full framework, you know? Yeah. Because then, and I guess like my point was like, it's because there's, you know, there's like Laravel and Symphony, which are these massive things that have like a lot of learning to do. And like this is nice because it's much, much smaller. There's not so much there that like, you know, like I'm like a lot of times like I don't like the way Laravel does things or I don't like the way symphony does things. So I do things my own way and and it's kind of nice, like a framework soon. Right. Yeah. And that's the problem. I will probably never do that because that'll kill me. But it's, but it's like that, that's the whole thing, right? He's like, you have like a very basic set of, you know, database entry routing. I'm trying to remember what all the different things were, but like, but it gets you started, but it doesn't, it doesn't do too much, I feel like. Right. And I think that's attractive. I think, yeah, if you're going to use one of the others, you're definitely going to commit to it and you've bought into what they're selling and that's, that's all very good. I was obviously been proven for years, those frameworks are, are amazing and very robust and well documented, huge communities behind them, and you can't go wrong, right? So I just, like I said, it became a thing where I'd been maintaining it for so long. I just don't see myself leaving it. It's served me very well. It's been, at least for me, in my experience, I've used it that some, the company I'm at right now, we built some pretty big apps with it that have really grown, helped grow the company and the bottom line at the company, which is always a good case study and indicator. And we're, we're on pace right now to launch the new product in October. We're really excited about that. So it's, it's worked well for me. So you know, it's kind of one of those things where it's like, this is how I think this is how I do things. I'll put it out there. See if anybody else likes it, doesn't like it. You know, I just haven't put too much push behind it, I guess, and for better of course. Yeah. And I think that's like the amazing thing about the open source community is like there is, it's just so easy to say like, hey, I solve my problem, hopefully it can help other people. And like that, that very much is what like all the frameworks essentially are is like a very, you know, hey, we solve this problem so you guys don't have to. So I appreciate that you're kind of putting that out for everybody. Oh, thank you. Yeah. Well, one question about naming for you. So why is it called pop? I mean, naming, naming things is hard. So I think it came to be pop in 2012, the library components really didn't have much of a name before that. I just thought it was short and sweet, and it just kind of popped in there and popped in my guess is, you know, a little, it's what I stuck with. It actually, I think served well because then when I came up with popcorn, I thought that it was interesting for the little little micro framework that unfortunately doesn't exist anymore, but because it's been rolled up. But and then the command line helpers, Kettle. So I think from naming marketing standpoint, it was interesting, but there was no real true rhyme or reason behind pop. It was just available and I went with it. Yeah. I that was actually one of the things I found really interesting reading through the documentation is what was called Kettle. And I was like, well, so is this pop, is this all popcorn based or, or what is it, but it is like a nice. Yeah. It was pop and then popcorn became that little rest micro framework. And from there when I went to go build out the CIL, the console helper, Kettle just kind of sprung in my mind as a natural name for that. So I thought that worked pretty well. So yeah. I think so. I think so too. I think it's really kind of fun. It was like, I was like, that's a fun name for that because I also, I'm also in that boat of like things are hard to name, like I've gotten to the point where like all, we had a, we got a dog and so all of my things now I'm naming after dog concepts. And I'm just like, that's the easiest one. Just pick a, pick a lane and just keep working, working me way down that way. Cool. Who do you think would be like the, the best use case for, for the pop PHP framework? Well, like I said, I think, and like we've been talking about, I think anybody that may feel overwhelmed by some of the framework offerings out there that it's a little too much to commit to or load too much of a learning curve. I think that if you're kind of in the PHP space, whether you're new or somewhat experienced and not looking for anything too heavy, you know, I think pop would be a really good fit. Okay. And I think that's, that's my mic like consensus looking at it. does it does seem very like I could do something with like a small piece, you know what I mean, like not it, you know, I could very quickly spin up an API server using it. So so do you do when you have people that are that are new that are coming to pop PHP like dude, is there common stumbling blocks that people have or is it pretty easy to get on board it. I haven't heard of any directly, I usually when people communicate with me, whether it's through the discord channel or other means, it's all very positive. So the handful of little bit of feedback I have gotten they've seemed to really like it. They said it's very easy to stand up and they haven't really had any issues. And they might ask some some kind of small or like, well, how do you do this little one thing and that's about it, you know. Yeah, you have some really like well, well made documentation too. There is like a docs that peach pop PHP.org, which is probably like there is a nice like what's new, how do you get started here are the basics, here's how you access databases. So that's like very important to me as a person is to making sure that like most of those docs are already out there for people. So it's the worst. It's like honestly, I hate it. So is there any way that the like what is it, what are ways that the community could help pop PHP like expand essentially or develop? What is it, what is it you're looking for? Do you need more developers or more people writing articles about it? I think just awareness would be great to start off. You know, I've had a few contributors over the years that have contributed to some of the components that they chose to use and that's really great. I love their contributions. I really appreciate it. But awareness would be number one. It's kind of why I pushed out to read it and now we're doing this. I guess which is great and I really appreciate it. So that's it. And then if anybody picks things up and they want to you know, interact with it and contribute and have ideas, they can always open issues up on the the GitHub repositories and we can start the conversation there, what they'd like to see or what they'd like to do. You know, that'd be great too. Yeah. And it wasn't my last question before we kind of transition out. But is there any, are there any features that you're particularly proud of that like you get like, we're like, oh, wow, I really nailed this. Well, I'll tell you if you go back to how it started with the library and opponents, I was working primarily for an interactive shop that we were servicing mostly advertising agencies. So there had to be a lot of media, graphic type stuff. So I started with an image component web form stuff. The PDF component is one of the oldest. That's a pretty robust component of, you know, PDF. I know a lot of people probably roll their eyes at PDF that we still have to use it and work with PDFs in 2026. But you know, it's not going to go away anytime soon. And so I'm pretty proud of the PDF component and that got a big bump in functionality in v7. So those components there are some of the oldest and I'm kind of fond of those. But then you know, the database component has been around for a while and the core components, you know, those are kind of tie everything together. So that's what I would touch more. Okay. It is a really interesting framework. And unfortunately, I do have to bring this to a close. Is there something that you'd like to direct our listeners to before I let you go? You can check us or check me out and check pop out at github.com/popphp on there's pppopphp.org as the website directly to the docs site there to get started if you're interested checking it out. I appreciate it. Awesome. Thank you so much for your time today. Yeah, thank you very much. Yeah. And we'll be back after this word from our partners. If you ship software at a small company or an agency, security and DevOps are probably hats you put on between features, not a team down the hall. Nobody hired you to read CVE feeds, chase depend about PRs or wonder whether that staging box is three Ubuntu versions out of date. Hundreds of CVs ship every week. Almost none of them are about you until one is CVEs and security newsletters aren't all that useful if you don't know what you're actually running. It's all our github app on your repos and our sensor on your servers and we know exactly what you run everywhere and exactly what's vulnerable. Our CVEs takes a full inventory of everything in your stack and makes it available to your coding agent via an MCP server. Your coding agent and our MCP server help you switch on unattended upgrades auto merge dependency bumps and schedule reboots that clear the everyday CVEs on their own. Then we monitor those automations to ensure that they're actually doing their job and pull you in only when something drifts or a CVE generally needs a human. Once you are automating as much as your security posture as possible, we keep an eye on those automations to ensure that they are working as expected and are sufficient to keep you safe. When something does need your attention, we notify you when you're coding agent using our MCP server to help you get through things that can be tracked quickly. Check out our CVEs.com. I have to say another heartfelt thank you to Nick for all of his time as well as for you for listening. If you're not already a subscriber, make sure you subscribe with whatever your preferred method is so you can get the episodes as soon as they're released. Maybe share this post with a coworker who would be interested to know about PHB as well. His podcast is available with an audio version on the PHB architect website and a video version on our YouTube channel. This is Scott Keck Warren for the PHB architect community corner signing off and divine you keep listening, keep coding and keep reading.

Podcast Summary

Key Points:

  1. POPPHP was created to offer a low-barrier, transparent framework that avoids "magic" and abstracted code, allowing developers to see exactly what their application is doing.
  2. Unlike large or opinionated frameworks like Laravel, POPPHP strikes a balance between simplicity and functionality, serving as a lightweight yet complete solution for developers who prefer control and clarity.
  3. The framework emphasizes transparency and maintainability, rooted in Nick Sagona’s personal experience of wanting to understand the inner workings of code from the start.
  4. A major recent upgrade focused on improved interoperability, better PSR support, and enhanced compatibility with modern PHP standards, marking one of the most significant updates in years.
  5. POPPHP includes essential components like routing, database access, and PDF handling, making it suitable for building APIs and small to medium applications quickly.
  6. The naming ("pop" and "popcorn") evolved organically, reflecting a playful yet functional approach to development and community engagement.
  7. The framework is especially well-suited for developers new to PHP or those who want to avoid heavy learning curves and deep framework commitments.
  8. The community is encouraged to grow awareness, contribute documentation, and submit feature ideas through GitHub, with open collaboration being a core value.

Summary:

POPPHP is a lightweight, transparent PHP framework developed by Nick Sagona to address the shortcomings of overly complex or opinionated frameworks like Laravel. Designed with transparency in mind, it avoids "magic" by showing developers exactly how their code executes, enabling greater control and understanding. Rooted in Nick’s personal experience of building reusable components in the early 2000s, the framework evolved into a full-featured yet minimal solution with core components such as routing, database access, and PDF handling.

A major recent update significantly improved its interoperability, PSR compliance, and ecosystem integration. POPPHP appeals to developers seeking simplicity, clarity, and autonomy—especially those new to PHP or wary of steep learning curves. The framework is praised for its clear documentation and ease of setup, with users able to quickly spin up APIs or small applications.

Nick emphasizes community growth through awareness, contributions, and open feedback via GitHub. The project remains a personal and practical choice for Nick, who has successfully used it to build substantial applications in real estate and title technology. com/popphp, highlighting its value for those who prefer visibility, control, and a minimalist approach to PHP development.

FAQs

POPPHP focuses on a low barrier to entry and minimal opinionality, avoiding 'magic' abstractions. It emphasizes transparency, allowing developers to see exactly what their code is doing.

POPPHP is more than a micro framework—it's a basic full framework with essential components like routing, database access, and HTTP handling, offering a complete yet lightweight solution.

The name 'POP' came to Nick in 2012 as a short, catchy choice. It was later used for 'Popcorn' (a micro framework) and 'Kettle' (a CLI tool), creating a fun and memorable naming theme with no strict rhyme or reason.

POPPHP includes robust components like PDF and database handling, with strong emphasis on transparency and control. It’s particularly well-suited for building APIs and small to medium applications.

Developers who want a lightweight, transparent framework without a steep learning curve—especially those new to PHP or those who prefer to have full control over their code.

Yes, POPPHP is designed to be easy to set up and understand. Users report minimal issues and appreciate the clear, well-organized documentation that covers basics and core functionality.

Chat with AI

Loading...

Pro features

Go deeper with this episode

Unlock creator-grade tools that turn any transcript into show notes and subtitle files.