I recently did a project for a film company in New York. Neat group. I did the PSD2HTML/CSS, Flash, jQuery goodness, and other related functionality on the server side. Fun stuff. But it didn’t need a complex backend so it’s just simple PHP. That made me start to ask the same question asked here:
Even with a ton of PHP frameworks out there to choose from, I know many people prefer a minimal, personal set of libraries. What is your method when it comes to ‘rolling your own’ framework for PHP applications, and how does it vary depending on the type/scope of a project?
via What’s your ‘no framework’ PHP framework? – Stack Overflow.
There were a good number of recommendations. I actually really liked using CodeIgniter but at that time there was no user management. I believe it did cleaning of input for you when needed. Most CI solutions were older/not maintained, or had other issues that made it not something I wanted to do again. There was one library that I ended up using, and I’ll have to dig up the name of it. It was an early release at the time and I had to hack it to work with Flash. Hmm, I just saw this… I’ll have to take a look at that. Oh and there is also this… Hmm… going to have to peruse this list a bit more…
ANyway, so, a lightweight PHP framework/library that cleans up input (no XSS attacks, etc.) and has easy validation, user management… one user from the original Stack Overflow question mentioned Flourish:
Flourish is a PHP unframework — a general-purpose, object-oriented library.
It has a modular architecture, meaning it isn’t strictly MVC. It focuses on being secure, well documented and easy to use, while solving problems intrinsic to web development.
Why Use Flourish?
You will find Flourish useful if you need to write code that is any of the following:
- Secure
- Consistent and easy to understand
- Needs to model simple or complex databases, especially existing schemas
- Works with international data
- Can perform accurate math calculations
- Easily manipulates images
- Able to run on different databases (MySQL, PostgreSQL, SQLite, MSSQL, Oracle)
- Can be used on closed-source projects
- Needs to run on PHP 5.1.6
- Needs an architecture other than MVC
- Plays nicely with other libraries and frameworks