Commit f4f82d17 authored by Taylor Otwell's avatar Taylor Otwell

Added View::of method and $view->partial() method.

parent 989ba674
......@@ -49,6 +49,25 @@ class View {
return new static($view, $data);
}
/**
* Create a new named view instance.
*
* @param string $view
* @param array $data
* @return View
*/
public static function of($view, $data = array())
{
$views = Config::get('view.names');
if ( ! array_key_exists($view, $views))
{
throw new \Exception("Named view [$view] is not defined.");
}
return static::make($views[$view], $data);
}
/**
* Get the parsed content of the view.
*
......@@ -98,6 +117,19 @@ class View {
}
}
/**
* Add a view instance to the view data.
*
* @param string $key
* @param string $view
* @param array $data
* @return View
*/
public function partial($key, $view, $data = array())
{
return $this->bind($key, View::make($view, $data));
}
/**
* Add a key / value pair to the view data.
*
......@@ -118,14 +150,7 @@ class View {
{
if (strpos($method, 'of_') === 0)
{
$views = Config::get('view.names');
if ( ! array_key_exists($view = substr($method, 3), $views))
{
throw new \Exception("Named view [$view] is not defined.");
}
return static::make($views[$view], (isset($parameters[0]) and is_array($parameters[0])) ? $parameters[0] : array());
return static::of(substr($method, 3), Arr::get($parameters, 0, array()));
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment