// pats pirmas indekso failas jame nusatomi visi programos nustatymai ir kvieciamas skriptas kuriame ji pradeda vykdyti
// sis failas yra tam kad butu galima visus nustatymus defaininti lengvai randamoje vietoje ir yra skirtas tik nustatymam ir niekam kitam galima sakyt.
<?php
define('DEFAULT_CONTROLLER', 'my');
define('DEFAULT_ACTION', 'veiksmas1');
include('sys/init.php');
?>
layouot.php pradzia<br />
<a href="?controller=my&action=veiksmas1">my::veiksmas1</a><br />
<a href="?controller=my&action=veiksmas2">my::veiksmas2</a><br />
<a href="?controller=lol&action=veiksmas1">lol::veiksmas1</a><br />
<hr />
<?=$content ?>
<hr />
layout.php pabaiga
<?php
// realiai cia vykdoma programa
//sukuriamas kviestas objektas,
// tada jo metodas ivykdomas
// ir grazinamas gautas tektas
include 'sys/controller.php';
if ($_GET['controller']) $controller= $_GET['controller'];
else $controller = DEFAULT_CONTROLLER;
if ($_GET['action']) $action= $_GET['action'];
else $action = DEFAULT_ACTION;
include 'controllers/'.$controller.'.php';
$main = new $controller();
$main->$action();
$content=$main->render();
include('layout.php');
?>
<?php
// cia yra tevine klase visoms kitoms klasems.
class controller{
var $tpl;
var $vars=array();
function setTpl($tpl){
$this->tpl=$tpl;
}
function setVar($key, $value){
$this->vars[$key]=$value;
}
function render(){
if (isset($this->vars)) foreach ($this->vars as $key=>$val) $$key=$val;
ob_start();
include 'views/'.$this->tpl.'.php';
$text = ob_get_contents();
ob_end_clean();
return $text;
}
}
?>
<?
// si klase nieko nedaro tik uzsistato isvesties (template) faila ir ji atvaizduoja
class lol extends controller{
function veiksmas1(){
$this->setTpl('trys');
}
}
?>
trys.php pradzia<br />
<h1>333</h1><br />
trys.php pabaiga<br />
<?
class my extends controller{
function veiksmas1(){
$this ->setVar('kint','blet');
$this->setTpl('vienas');
}
function veiksmas2(){
$db=array('firefox', 'opera', 'ie6', 'konqueror');//cia atseit kazka istraukiam is duombazes
$this ->setVar('lentele',$db);
$this->setTpl('du');
}
}
?>
vienas.php pradzia<br />
<?=$kint ?><br />
vienas.php pabaiga<br />
du.php pradzia<br />
<ol>
<?php foreach($lentele as $row): ?>
<li>
<?=$row ?>
</li>
<?php endforeach; ?>
</ol>
du.php pabaiga <br />
Powered by mwForum 2.29.6 © 1999-2015 Markus Wichitill