namespace Framework; require_once 'Framework/Twig/Autoloader.php'; class View { private $file = 'default.html'; private $subpath = ''; private $cache = false; public function addData($key, $value) { $this->data[$key] = $value; } public function setFile($file) { $this->file = $file; } public function setSubPath($path) { $this->subpath = '/' . $path; } function setCache($val) { if ($val) $this->cache = true; } public function showPage() { // usuniecie domyslego autoloadera calej aplikacji !!![]()
$functions = spl_autoload_functions(); foreach ($functions as $function) { spl_autoload_unregister($function); } //-------------------------------------------- \Twig_Autoloader::register(); $loader = new \Twig_Loader_Filesystem('Templates' . $this->subpath); if ($this->cache) 'cache' => 'Templates/Cache', )); else $twig = new \Twig_Environment($loader); } }
jest to widok w własnej aplikacji, z powodu, że bardzo dobrze pracuje mi sie z Twig zastosowałem ten system szablonów ale żeby nie było konfliktu musiałem pozbyć się domyślnego autoloadera aplikacji (widać w funkcji showPage()) co wygląda dość dziwnie
czy ktoś mógłby mi pokazać lub nakierować jak ten problem rozwiązuje Symfony lub inny framework