Blog Archive

In case you missed it the first time...

A Screenshot of Figaro

Kinda quiet

Monday, September 17

Sorry for the quietude around here lately, been working hard on finishing up the Figaro Framework e-commerce package.

posted by: Brit Gardner | email the author | back to top

Performance Issues addressed

Wednesday, July 25

Addressed some performance issues with building your schema on the fly. Short of caching the result for re-use, the runtime schema configuration is as fast as it's going to get.

posted by: Brit Gardner | email the author | back to top

Figaro 0.2!

Lots of upgrades

Friday, July 20

Ok, made a ton of upgrades to the framework that amount to a 0.2 release.


  1. figaro_start.php has been upgraded to improve performance and to bootstrap the framework more efficiently. It’s also been written such that a developer should never touch it, only the settings file.
  2. the settings file has a couple of new definitions that control how the framework boots – for instance, if you don’t want to use the .htaccess file with the framework, you just change one line in config.Settings.php and voila, you’re good to go.
  3. the functions.php file no longer exists. To get rid of any potential namespace issues like we ran into with debug(), I made the functions file into a class: class.Figaro.php.

the Figaro class is static, meaning you don’t have to call


$Figaro = new Figaro;

If you want to use a function in the figaro class, simply do


Figaro::myFunction();

Figaro::debug($Mysql->log);


This alleviates any issues with other apps, like Mantis, have the same function definitions as Figaro.

The static functions inside class.Figaro.php are not meant to be touched and should be generic to any application.

posted by: Brit Gardner | email the author | back to top

Fixed a small issue with Element object

Thursday, July 19

The element object is now a little smarter - if you pass it a file location that already includes the Constant ROOT (the full php path the the web root), it will not prepend the file path with ROOT again.

posted by: Brit Gardner | email the author | back to top

Element::getContentFromFile()

Get the contents from a file without creating a ne

Wednesday, July 18

Added a new method to the element object - getContentFromFile()
$Page = new Page(); $Page->defineElement($Body, '/pages/mycontent.htm'); $fileLocation = '/pages/mystaticfile.htm'; $Page->$Body->getContentFromFile("MY_POINTER", $fileLocation);
This will read the contents of the file using file_get_contents() and fill the pointer with the contents. How is this different from Element::getContent()?? getContent($ptr, $content); only accepts strings for the $content argument, so one would have to either read the contents of the file manually into a string, or create a new element with that file.

posted by: Brit Gardner | email the author | back to top

Small Update

Page Renderer fixes

Tuesday, July 17

Fixed a couple of small bugs in the page renderer. There was a small cleanup script that cleared any pointers that weren't being used just before the final print() statement. My regexfoo not only cleared the pointers, but everything in between two pointers! Combining me and regex is like running with scissors...

posted by: Brit Gardner | email the author | back to top

New Version availble

Finally finished CRUD!

Tuesday, July 10

Finally finished the complete CRUD scheme, so you're able to insert, select, update, and delete in the framework.

posted by: Brit Gardner | email the author | back to top

New Version Soon To Be Posted

The new version of Figaro includes a complete CRUD

Sunday, July 8

Create: $Mysql->users->save($fields, $values);
Read: $Mysql->users->get($fields, $conditions, $orderBy, $limit);
Update: $Mysql->users->save($fields, $values, $condition);
Delete: $Mysql->users->delete($conditions, $limit);

Pretty easy, huh? All of the $fields and $values can be either arrays or comma separated strings so all you have to do to insert a user into a user table is:

$fields = 'id, firstname, lastname';
$values = '1, chritopher, walken';
$Mysql->users->save($fields, $values);

You can also use Figaro shorthand to delete:

$Mysql->users->deleteBYlastname('walken');
//this will delete ALL walkens in your table!

The new version will be out shortly - stay tuned.

posted by: Shaun Gish | email the author | back to top

What Is the Figaro Framework?

A brief overview of Figaro

Friday, June 22

What is the Figaro Framework? The Figaro Framework is designed to allow access to data instantly. No more writing massive SQL queries with a million join statements to pull your eCommerce site’s cross sells. Think of Figaro as a shorthand for PHP - all of your coding principals and best practices still apply, but you write alot less code.

$clients = $Mysql->clients->get('firstName, lastName', 'company = redblok', 'birthDate ASC'); echo $clients;

That’s all the code it takes to kick out a list of all of the clients in a database that work for Redblok and sort the records according to their birthday.

Ultimately, Figaro allows coders to code faster by removing all of the menial tasks and it facilitates a more extensible approach to a coding problem.

posted by: Shaun Gish | email the author | back to top

view the archives