ForwardFW
[ class tree: ForwardFW ] [ index: ForwardFW ] [ all elements ]

Source for file Templater.php

Documentation is available at Templater.php

  1. <?php
  2. declare(encoding "utf-8");
  3. /**
  4.  * This file is part of ForwardFW a web application framework.
  5.  *
  6.  * This library is free software; you can redistribute it and/or
  7.  * modify it under the terms of the GNU General Public
  8.  * License as published by the Free Software Foundation; either
  9.  * version 2.1 of the License, or (at your option) any later version.
  10.  *
  11.  * This library is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  14.  * General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public
  17.  * License along with this library; if not, write to the Free Software
  18.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  19.  *
  20.  * PHP version 5
  21.  *
  22.  * @category   Templater
  23.  * @package    ForwardFW
  24.  * @subpackage Main
  25.  * @author     Alexander Opitz <opitz.alexander@primacom.net>
  26.  * @copyright  2009,2010 The Authors
  27.  * @license    http://www.gnu.org/copyleft/gpl.html GNU General Public License
  28.  * @version    SVN: $Id: $
  29.  * @link       http://forwardfw.sourceforge.net
  30.  * @since      File available since Release 0.0.2
  31.  */
  32.  
  33. /**
  34.  *
  35.  */
  36. require_once 'ForwardFW/Interface/Templater.php';
  37.  
  38. /**
  39.  * This class can instantiate a templater class.
  40.  *
  41.  * @category   Templater
  42.  * @package    ForwardFW
  43.  * @subpackage Main
  44.  * @author     Alexander Opitz <opitz.alexander@primacom.net>
  45.  * @license    http://www.gnu.org/copyleft/gpl.html GNU General Public License
  46.  * @link       http://forwardfw.sourceforge.net
  47.  */
  48. {
  49.     /*
  50.      * Array of the application independent Factories
  51.      */
  52.     static private $instance = null;
  53.  
  54.     /**
  55.      * Constructor
  56.      *
  57.      * @return void 
  58.      */
  59.     private function __construct()
  60.     {
  61.     }
  62.  
  63.     /**
  64.      * Factory method to get Templater from config.
  65.      *
  66.      * @param ForwardFW_Controller_Application $application The running application
  67.      *
  68.      * @return ForwardFW_Templater 
  69.      */
  70.     static public function factory(
  71.         ForwardFW_Controller_Application $application
  72.     {
  73.         if (is_null(self::$instance)) {
  74.             self::$instance ForwardFW_Templater::createTemplater($application);
  75.         }
  76.         return self::$instance;
  77.     }
  78.  
  79.     /**
  80.      * Creation method of Templater from config.
  81.      *
  82.      * @param ForwardFW_Controller_Application $application The running application
  83.      *
  84.      * @return ForwardFW_Templater 
  85.      */
  86.     final static private function createTemplater(
  87.         ForwardFW_Controller_Application $application
  88.     {
  89.         if (isset($GLOBALS['ForwardFW_Templater'])) {
  90.             $strTemplaterName $application->getRequest()->getConfigParameter(
  91.                 'Templater'get_class()
  92.             );
  93.             include_once str_replace('_''/'$strTemplaterName'.php';
  94.             $templater new $strTemplaterName($application);
  95.         else {
  96.             $this->application->getResponse()->addError('No Templater');
  97.         }
  98.         return $templater;
  99.     }
  100. }

Documentation generated on Sun, 30 Jan 2011 20:46:47 +0100 by phpDocumentor 1.4.3