Lightweight MVC framework for use with PHP 5 and the Smarty template engine.
Empathy is released under the GNU LGPL.

Pre-release tarball: empathy-pr.tgz
1.1 Setup Library
# cd /usr/share/php # wget http://www.mikejw.co.uk/files/empathy.tgz # gunzip empathy.tgz ; tar -xvf empathy.tar # rm empathy.tar
1.2 Setup 'eaa' (Empathy Application Architype)
# cd /var/www # cp -r /usr/share/php/empathy/eaa . # cd eaa/public_html # mv config.php.sample config.php # mv htaccess .htaccess # cd ../application # mv CustomController.php.sample CustomController.php # cd ../tpl # chmod 777 templates_c
Try navigating to 'http://localhost/eaa' at this point. It all depends on how Apache has been set up. It's unlikely you will see anything so try editing the following:
Is it working now? Try navigating to http://localhost/eaa/empathy where you should see some basic demos. So that's it. Creating new projects is exactly the same process as the last step although you obviously might be looking to make heavier customisations.
Be aware that the NAME of your app within config.php will determine the name of your main global stylesheet according to the default header. For example, 'eaa.css'. The default header also attempts to include a stylesheet using the current module name as a prefix.
2.1 Creating a new controller class
# cd /var/www/eaa/application/front # cp front.php new_class.php
Now edit your new class file and give it the class name 'new_class'. Navigate to http://localhost/eaa/new_class. You will get an error saying that the template file new_class.tpl cannot be found. Edit new_class.php and add this line to the default event method:
$this->templateFile = 'front.tpl';
Now you should be able to go to 'http://localhost/eaa/new_class' and see the same page as you would get from loading the default module controller (front).
If you would prefer Empathy to look for a template file based on the current module name when one hasn't been specified you can toggle the 'TPL_BY_CLASS' setting in config.php.
2.2 Creating a new module
# cd /var/www/eaa/application # cp -r front new_module # mv new_module/front.php new_module/new_module.php
Edit the new_module class (the default module controller) so that the class name is correct as before and then make sure a default template file (new_module.tpl) is available for it under /var/www/eaa/presentation.
The new module will not be active until it has been added to the config file. Add 'new_module' to the $module array and add a zero to the $moduleIsDynamic array.