Horde_Core_Ui_VarRenderer::factory PHP Method

factory() public static method

Constructs a new instance.
public static factory ( mixed $driver, array $params = [] ) : Horde_Core_Ui_VarRenderer
$driver mixed This is the renderer subclass we will instantiate. If an array is passed, the first element is the library path and the second element is the driver name.
$params array Parameters specific to the subclass.
return Horde_Core_Ui_VarRenderer A subclass instance.
    public static function factory($driver, $params = array())
    {
        if (is_array($driver)) {
            $app = $driver[0];
            $driver = $driver[1];
        }
        $driver = Horde_String::ucfirst(basename($driver));
        if (!empty($app)) {
            include_once $GLOBALS['registry']->get('fileroot', $app) . '/lib/Ui/VarRenderer/' . $driver . '.php';
        }
        $class = __CLASS__ . '_' . $driver;
        if (!class_exists($class)) {
            throw new LogicException('Class definition of ' . $class . ' not found.');
        }
        return new $class($params);
    }

Usage Example

Exemplo n.º 1
0
 /**
  * Construct a new Horde_Form_Renderer::.
  *
  * @param array $params  This is a hash of renderer-specific parameters.
  *                       Possible keys:
  *                       - 'varrenderer_driver': specifies the driver
  *                         parameter to Horde_Core_Ui_VarRenderer::factory().
  *                       - 'encode_title': @see $_encodeTitle
  */
 function Horde_Form_Renderer($params = array())
 {
     global $registry;
     if (isset($registry) && is_a($registry, 'Registry')) {
         /* Registry available, so use a pretty image. */
         $this->_requiredMarker = Horde::img('required.png', '*');
     } else {
         /* No registry available, use something plain. */
         $this->_requiredMarker = '*';
     }
     if (isset($params['encode_title'])) {
         $this->encodeTitle($params['encode_title']);
     }
     $driver = 'html';
     if (isset($params['varrenderer_driver'])) {
         $driver = $params['varrenderer_driver'];
     }
     $this->_varRenderer = Horde_Core_Ui_VarRenderer::factory($driver, $params);
 }
All Usage Examples Of Horde_Core_Ui_VarRenderer::factory