PHPSimpl Examples

PHP Simpl is a framework that is constantly evolving, and to help anyone who is interested in using the framework we are putting examples in the SVN repo. As of rev 125 we will continuously be adding to the examples folder which will outline the functionality of Simpl and get you up an running in no time. Currently there is just a show blog type application in there but we will be expanding it. Also if you have a good idea for an example or would like to submit your own just post in our group and we will be sure to help you.

Proxy Midterm Update

For our midterm in GET/POST/HEAD requests. Well it all went well and my group got a 100. The proxy actually preforms very well and handles most pages out there, and has a pretty sophisticated caching engine. Although there is a few drawbacks when the page uses some odd connection types to get its information and multi part POST’s don’t seem to be working but all in all we are very proud how it came out. I will probably be posting the code somewhere to get it out in the public and maybe a viable small scale proxy. We will have to wait till the end of the semester and get approval from my partner.

PHPSimpl – An Introduction

PHPSimpl is a a PHP framework for rapidly creating classes that mirror MySQL tables. The framework comes with the basic functions to list, display and edit records from the database. With this framework a simple manager and front of a site can be created within a few minutes. An example database, manager and front end are included with the framework.

Since this is a very new framework an introduction is in order.

First, Download the framework, we host it on Google Code and you can download it via Subversion.

Second, Put it on a server that supports PHP and MySQL. It does not have to be in a web viewable directory but currently it is recommended to be in /public_html/ root.

Setup the defines. There are a few defines that are nessisary to run PHP Simpl these must be declaired before the include of the class.

define('FS_SIMPL', '/public_html/simpl/');
define('DB_USER','user');
define('DB_HOST','localhost');
define('DB_PASS','pass');
define('DB_DEFAULT','my_blog');
define('DEBUG',false);
define('DEBUG_QUERY',false);
define('USE_CACHE',true);
define('CLEAR_CACHE',false);

The first one is manditory the rest are not, but it is a good idea to define them if you do not want to go into the main PHP Simpl config to change to debug mode or to clear the cache when you want to.Next include the main class then load any helper classes you may need. This must be done before you include your own classes file.

include_once(FS_SIMPL . 'simpl.php');
$mySimpl->Load('Form');
$mySimpl->Load('Db');
$mySimpl->Load('DbTemplate');
$mySimpl->Load('Folder');
$mySimpl->Load('File');
$mySimpl->Load('Upload');
$mySimpl->Load('Image');

Now that you have PHPSIMPL up and running to write a simple class to mirror a mysql database table it is as simple as the example below.

class  Post extends DbTemplate {
function Post($data=''){
$this->required = array('title','body');
$this->table = 'blog_post';
$labels = array('is_published'=>'Published:','user_id'=>'Author:','category_id'=>'Category:');
$examples = array('category_id'=>'ex. PHP, MySQL, Cars, XML, PHPSIMPL');
$this->DbTemplate($data, $this->required, $labels, $examples, $this->table);
}
}

And you are done, this Post class now has full interaction with the database table. You can use the helper GetValue() and SetValue() functions to get and set field values and all the helper functions to interact. You can also write custom functions just like you always would if you were not using PHPSimpl. A full list of functions and their parameters will be published soon, if you cannot wait just simply look through the PHPSimpl source, everything is commented in JavaDoc format for ease of use.

Proxy Project Going Good.

So I finally got my new Mini and my new Desk all setup. Thats all i wanted to say. Oh yea and we are finally seriously working on a new look for the Wayne State University homepage, it desperately needs it (from a back end and management standpoint, the frontend pretty much just needs a realign), four years old and designed by a company that went out of business. Now that we have the tools in place we can get it setup right.

Also check out my Technorati Profile

Google Groups Beta… Impressed.

So Google has launched a Beta Groups site and I have been using it for a while now and all I can say is I am pretty impressed. It has kept my attention alot longer than I was planning to be reading my groups. For one the interface is alot better, this are orgainized into clusters and there is alot more options. I found I was totally side track configuring my group. Anyays the user manament is a million times better I have not had time to play with the Page Creator or the File Upload yet. One thing that i could not get to work, but it more than likely was my fault is the image upload for the user icon would not save for me. Oh well ill have to try it again tomorow.

Oh yea I am still waiting for a shipping date for my new Mac. :-/ Hopefully soon i can get down to some real development outside of work.