PHP Scaffold Class
Overview
Scaffold is a powerful standalone PHP class that dynamically creates CRUD functionality for a database table. It is designed to dramatically decrease the time it takes to get your database-driven application up and running.
When I first saw the Ruby on Rails "weblog in 15 minutes" screencast, I wished that there was an easy way to accomplish the same thing in PHP. While there are plenty of PHP frameworks with this functionality, I wanted something standalone that I could easily integrate into my projects. This class is what I came up with.
The class has many features out of the box, but it has been built in such a way that it can be customized to suit your needs. Additionally, it outputs standard HTML tables which can be easily styled with CSS to fit into your website or application.
Features
- Support for one-to-many relationships (many-to-many are on the todo list)
- Image uploading and resizing
- Thumbnail generation
- Supports file uploads with extension validation
- Disable certain actions (show, add, edit, or delete)
- Handles SET or ENUM fields as select boxes
- Sort by any of the columns
- Pagination
- Hide different columns from the listing table or from all views
- Automatic recognition and handling of created and modified date fields
- Easy to extend and style to fit into various projects
Basic Usage
The following code shows the most basic implementation of the class.
<?php
mysql_connect('localhost', 'username', 'password');
mysql_select_db('database');
require_once('Scaffold.php');
$scaffold = new Scaffold('my_table');
$scaffold->build();
$scaffold->output();
?>
Included in the download is a full API reference of all of the class's methods.
Demo
I've setup an example of a simple store backend to show its functionality. Here are two examples of sites that have been built on top of a backend powered by this class.
Download / Purchase
In order to provide support and continue developing this project, I am asking a one-time fee of $29.00 which entitles you to use it in an unlimited number of projects. It also entitles you to all future upgrades. For details, view the full license.
If you have already purchased the class, you may download updates from the My Account page.
Change Log
2010.06.26 - v1.0
- First release
2010.09.02 - v1.1
- Added support for file upload fields.
2011.01.27 - v1.2
- Bug and security fixes
June 28th, 2010 - 13:13
Well I paid my monies…. and have to say very happy with my purchase.
Very easy to use, quick implementation and all contained in one simple PHP class.
I got a quick CRUD site for managing our contacts up-and-running in one hour. 45minues of that was me playing with CSS to get the right colour scheme
Cheers Aaron
October 8th, 2010 - 09:31
Admin Panel Made Easy.