Location: PHPKode > scripts > Logo class > logo-class/logo_example.php
<?

require("logo.php");

/*
   A eimple helper function:
   function sft (string from template) (simplified)
   input:  - one array with substitute values
           - a template file
   output: - a (html) stream
*/
function sft($pairs, $template)
{
	$str = implode(file($template), "");
	$res = preg_replace("/\\{\\{(\\w+)\\}\\}/Ue", "\$pairs['\\1']", $str);
	return $res;
}

/*
   To get started, we include a simple logo program.
   This function returns a simple logo program that serves as an example.
*/
function get_program()
{
	$res = <<<EOH
to triangle :sides
    make "angle 120
    repeat 360 / :angle [forward :sides left :angle]
end

to house
    forward 50
    Right 90
    forward 50
    left 135
    forward 35
    left 90
    forward 35
    right 270
    forward 70
    left 135
    forward 50
    left 135
    forward 70
    left 135
    fd 50
end

house
penup
lt 90
backward 50
pendown
triangle 20
EOH;
	return $res;
}

/*
   We are going to store the program that one is typing in the current
   session, so the student does not have to do a lot of re-typing.
*/
session_start();
session_register("theprogram");

switch ($cmd) {
case "swf":
/*
	The template calls this example with cmd=swf.
	We output the results of the program here.
*/
	$logo = new logoclass($theprogram);
	$logo->output();
	break;
default:
	if (empty($program)) {
		$program = get_program();
	}
	$program = stripslashes($program);
	$theprogram = $program;
	$arr = compact("program");
	echo sft($arr, "logo.tem.html");
}
?>
Return current item: Logo class