Heeej,

Ik had gister een idee om (ik denk) snel websites te kunnen maken. Hier is de download link : download

De index.php ziet er als volgt uit:

<?php
include_once("lib/Website.class.php");
include_once("lib/Position.class.php");
include_once("lib/Module.class.php");
include_once("lib/Database.class.php");

//MODULES
include_once("modules/Tekst.php");
include_once("modules/Menu.php");
include_once("modules/LoginForm.php");

//MAAK VERVINDING MET EEN DATABASE
Database::Connect("localhost","root","","social");

//START WEBSITE
$website = new Website('Dennis Sluijk - Home');
$website->addStylesheet('style/style.css');
$website->addJavascript('lib/javascript/jquery.js');
$website->addJavascript('lib/javascript/dynaload.js');

//MAKE MENU
$mainmenu = new Menu();

$home = new MenuItem('Home','index.php','');

$informatie = new MenuItem('Informatie','informatie.php','');

$informatiesub = new Menu();
$informatiesub->addMenuItem(new MenuItem('Honden','#',""));
$informatiesub->addMenuItem(new MenuItem('Katten','#',""));

$informatie->addMenu($informatiesub);

$mainmenu->addMenuItem($home);
$mainmenu->addMenuItem($informatie);

//MAKE LOGIN FORM
$loginform = new LoginForm();

$left = new Position('left');
$left->appendModule($mainmenu);
$left->appendModule($loginform);

$tekst = new Tekst('Test test TEKST TEKST IPSUM DINGEN');

$content = new Position('content');
$content->appendModule($tekst);

$main = new Position('main');
$main->appendPosition($left);
$main->appendPosition($content);

//APPEND POSITIONS
$website->appendPosition($main);


echo $website->fetch();

?>

Je kan natuurlijk het menu enzovoorts opslaan in een appart bestand die je dan bij de volgende pagina bijvoorbeeld cats.php alleen hoef te includen. Het uiteindelijke doel van het systeem is zodat je dingen kan hergebruiken

hier is een download link voor alle bestanden: download

Mij vraag is wat jullie er van vinden
Eerlijk gezegd vind ik 0.3 seconden best wel veel, vooral als ik een pagina al kan laden in 140ms (inclusief ontvangen) en dit maakt gebruik van smarty.
oke, ik heb zelf wat benchmarks gedaan, en dit zijn de laadtijden van alleen het maken van een pagina met smarty (layout+onderdeel) in milliseconden.

5.75304031372
4.18305397034
3.99899482727
5.43808937073


benchmark-code:

<?php
$time = microtime(true);
		
		// check exists
		if(file_exists($path)){
	
			// fetch current view
			$content = $this->fetch($path);
	
		}else{
			
			echo 'Error loading page :'.$path;
			
		}
		
		// assign content to smarty
		$this->assign('headers', $this->build_headers());
		$this->assign('content', $content);
		
		// display layout
		if ($this->helpers->admin->in_admin()) {
			
			$this->display('views/molds/admin.tpl');
		
		} else {
			
			$this->display('views/molds/layout.tpl');
			
		}
		
		$endtime = (microtime(true) - $time) * 1000;
		$fopen = fopen('tijden.txt', 'a');
		fwrite($fopen, $endtime . "\r\n");
		fclose($fopen);
?>


edit) Geef alsjeblieft geen commentaar op de foutafhandeling :S
Goede template parsers kosten géén extra tijd. Door te cachen gebeurt alle parsing maar 1x en houd je gewone native PHP over. De featureset is dan irrelevant.
Pim - op 24/08/2011 14:33:08

Goede template parsers kosten géén extra tijd. Door te cachen gebeurt alle parsing maar 1x en houd je gewone native PHP over. De featureset is dan irrelevant.


Je hebt gelijk

Reageren