public static function type($type, $content = null, array $options = array())
{
$defaults =
[
'view' => false,
'encode' => false,
'decode' => false,
'cast' => true,
'conditions' => [],
'paths' =>
[
'template' => '{:lib}/views/{:controller}/{:template}.{:type}.php',
'layout' => '{:lib}/views/layouts/{:layout}.{:type}.php',
'element' => '{:lib}/views/elements/{:template}.{:type}.php'
]
];
if($content === false)
unset(static::$__types[$type], static::$__handlers[$type]);
if(!$content && !$options)
{
if(!$content = static::__types($type))
return;
if(strpos($type, '/'))
return $content;
if(is_array($content) && isset($content['alias']))
return static::type($content['alias']);
return compact('content') + array('options' => static::handlers($type));
}
if($content)
static::$__types[$type] = (array) $content;
static::$__handlers[$type] = $options ? Set::merge($defaults, $options) : [];
}
Comments