Otoz mam aplikacje na MVC.
Wiadomo - jest jakis kontroler itd.
Kazdy element serwisu jest u mnie tzw. sekcja. Kontroler na podstawie $_REQUEST tworzy odpowiednia sekcje, ustawia jej pewne parametry jesli zachodzi potrzeba i wywoluje metode, ktora w obiekcie sekcji odpowiada za wygenerowanie strony.
Przyklad takiej sekcji:
<?php require_once ('./libs/smarty/Smarty.class.php'); require_once ('./Section.php'); class Profil extends Section { protected $user; a public function __construct ($requestObj) { Section::__construct($requestObj); } public function show_page () { $this->page->assign('srodek_tpl', 'srodek/profil.tpl'); $this->page->display('index.tpl'); } } ?>
I teraz... musze dodac cachowanie smarty.
Oczywiscie niektore elementy szablonow sa dynamiczne i nie moge ich cachowac.
Zatem nalezaloby uzyc {insert name="get_user_name"}. w taki wypadku w skrypcie powinienem miec funkcje insert_get_user_name ().
Ale nie chce miec nic wiecej niz definicje klasy w sekcji. I teraz czy jest mozliwosc, a jesli tak to jak to zrobic, aby w {insert} wywolac metode klasy?
ps.
no to kicha ;p pare h kombinowania i jedno moge stwierdzic: cachowanie w smarty to 1 wielka kicha ;p dlaczego nikt tam nie wpadl na pomysl na {dont_cache} albo cos podobnego. cache smarty i mvc nie ida w paze.