Witam,
ostatnio grzebie sobie w php i napotkałem mały problem.
Zrobiłem sobie plik główny który odpowiada za ładowanie podstron i podstawianie do szablonu (Smarty). Działa okej, ale pliki podstron są .php i w nich odwołuje się do klasy. Problem w tym, że w każdym pliku podstrony muszę znowu deklarować moją klasę i wczytać jej pliki.
Core.php
<?php
require_once('libs/Smarty.class.php');
class Core extends Smarty{
function __construct() {
parent::__construct();
}
function pageDefine(){
return true;
}
function sprawdzCzyIstniejeStrona($nazwaStrony){
return true;
} else {
return false;
}
}
function loadPage($nazwaStrony){
if($this->sprawdzCzyIstniejeStrona($nazwaStrony)){
$this->pageDefine();
require_once('page/'.$nazwaStrony.'..php');
$this->display($nazwaStrony.'.tpl');
}else{
$this->display('error404.tpl');
}
}
function add($nazwa, $param){
return $this->assign($nazwa, $param);
}
}
?>
index.php
<?php
require('system/Core.class.php');
$Core = new Core;
//$Core>force_compile = true;
$Core->debugging = true;
$Core->caching = false;
$Core->cache_lifetime = 120;
$stronaDoWczytania = 'glowna';
$Core->loadPage($stronaDoWczytania);
?>
stronaA.php
<?php
require_once('system/Core.class.php'); // <--- o to chodzi, na każdej podstronie muszę to dodawać.
$Core = new Core;
if(PAGE_DEFINE == true && PAGE_ID == 69){
$Core->assign('info', 'dziala');
}else{
echo 'Brak dostepu do tej strony!'; }
?>
Czy jest jakiś sposób, abym w każdym pliku podstrony nie musiał dodawać tej deklaracji?
Ten post edytował MnicH. 17.02.2012, 12:49:32