I wrote this framework 4 years ago and have been using and iterating it since. In an effort to polish it off I decided to document it and ask others to use it as well.
I'm not a fan of large frameworks that do all sorts of voodoo on my behalf. This framework is less than 1300 lines of code and includes
* a RESTful routing module that supports regular expressions
* a templating module
* a session module that supports native, APC and Memcached
* a caching module that supports APC and Memcached
* a config module that supports overloading of multiple config files
* a database module that supports PDO MySql and prepared statements
I've used it on publicitweet.com (sold), textbookrevolt.com and thescholarapp.com. It's got some good usage but I'd like to iron out bugs I haven't come across and let others use it if they'd like.
I went down much the same route (though by the looks of it you've done a better job) and recently have decided to scrap the whole thing in favor of Yii, which I really hope is a good long term decision (always dicey).
What are your long term plans, is this a fire-and-forget thing or are you going to continue to maintain it and accept patches and so on ?
Is there a roadmap where you want to go with this ?
It was a lot of work :). I knew making it usable by others would be as much work as writing it in the first place.
It's definitely not fire and forget. I've been using it for over 4 years so I don't have any plans on ditching it. The main point of documenting it was so others would use it and I can improve on the library.
If you look at another one of my libraries on github (https://github.com/jmathai/twitter-async/issues) you'll see that there have been over 90 issues raised by others which I've resolved. It's what's made that library so solid - hoping for the same here.
If I can find the time (fairly big if) I promise you that I will go through your code to see if I can either see things that you might improve or spot lurking bugs.
Much appreciated. As far as a roadmap it'll probably continue to be what it's been. The next thing on the list are unit tests but otherwise it's whatever I or others using it feel the framework is missing (but wouldn't add bloat).
I've never been a fan of using frameworks; I prefer putting libraries together so I have the greatest control over the entire stack. However recently I've been looking into: http://symfony-reloaded.org/
I have a lot of respect for the authors considering the other work they've done. Thanks for the lead on Yii, and OP: your stuff looks pretty good too!
You won't regret going the Yii route. I'm amazed that people are still coding the basics from the ground up when there are already top-notch frameworks out there.
That's true I guess - it's just more of a community thing rather than build-your-own. I think I've seen three new PHP frameworks pass across the HN front page this week alone. But each to their own.
I guess I've never been interested in a framework building out classes based on my database tables so I'm not sure what the alternative approaches are. Is that what you meant?
If you prefer than then I do think the larger frameworks are a good fit. What I'm saying is that I don't prefer that :).
I write the CRUD statements but only as I need them. For a lot of my tables I never intend on deleting records so a delete method never gets written.
If I need to do a SELECT on a specific field(s) then I write that statement. It's usually a 4 line function in a class that deals primarily with that table (but not necessarily as it may make sense in a different class).
I use static functions for that as well.
class User {
public static function getByEmail($email) {
return getDatabase()->one('SELECT * FROM user WHERE email=:email',
array(':email' => $email));
}
}
I don't typically end up with so many of those that it's unmanageable and writing it takes about 30 seconds.
That's my approach. What's your thought on that coming from the mindset that a lot of that is taken care of by the framework? I'm curious since that's not a mindset I've had yet.
I'm not a fan of large frameworks that do all sorts of voodoo on my behalf. This framework is less than 1300 lines of code and includes
I've used it on publicitweet.com (sold), textbookrevolt.com and thescholarapp.com. It's got some good usage but I'd like to iron out bugs I haven't come across and let others use it if they'd like.