revjim.net

September 26th, 2002:

pseudo-code: web application framework

I’ve been going over some more of my ideas for this web application framework I’m attempting to design. Based on how I see the system working, I’ve developed some pseudo-code. There are some huge chunks of the code missing, like exactly what it is that processes the incomming HTTP request, and exactly what happens when the core.* functions are called (aside from what obviously happens by looking at the code) but it’s a start. Comments and feedback are greatly appreciated.

I’ve never programmed anything quite like this before. So, I’m looking at this from the perspective of a programmer who might be willing to use it as a toolkit to develop future applications. I’m attempting to make it easy on that person, and yet still force programmers/developers to adhere to certain rules to assure continuity, interoperability, and ease of use for the end user.


time module class:

function gettime($args) {

	return time();
}

function dopage($args) {

	$tpl = new Template();
	$tpl->assign("time",time.gettime());
	$tpl->display($args["template"]);

}

core.register_tag("time.gettime","time.gettime","");
core.register_page("time.gettime","time.dopage",array("template"));

page display class:

function showpage($args) {

	$tpl = new Template();
	$tpl->display($args["template"]);

}

core.register_page("page.showpage","page.showpage",array("template"));

URL association:

node      method	 parameters
time	  time.gettime   template=>timefrompage
showtime  page.showpage  template=>timefromtag

timefrompage template file:

Hello. The time is {$time}.

timefromtag template file:

Hello. The time is {time.gettime()}.

RSS 2.0 feed

revjim.net has replaced its RSS 0.91 feed with an RSS 2.0 feed using Mark‘s RSS 2.0 template for MovableType. The 2.0 format should be compatible with RSS 0.91 readers. If any of you experience difficulty, please let me know.