Class Phalcon\Mvc\View
extends abstract class Phalcon\DI\Injectable
implements Phalcon\Events\EventsAwareInterface, Phalcon\DI\InjectionAwareInterface, Phalcon\Mvc\ViewInterface
Phalcon\Mvc\View is a class for working with the “view” portion of the model-view-controller pattern. That is, it exists to help keep the view script separate from the model and controller scripts. It provides a system of helpers, output filters, and variable escaping.
//Setting views directory $view = new Phalcon\Mvc\View(); $view->setViewsDir('app/views/'); $view->start(); //Shows recent posts view (app/views/posts/recent.phtml) $view->render('posts', 'recent'); $view->finish(); //Printing views output echo $view->getContent();
Constants
integer LEVEL_MAIN_LAYOUT
integer LEVEL_AFTER_TEMPLATE
integer LEVEL_LAYOUT
integer LEVEL_BEFORE_TEMPLATE
integer LEVEL_ACTION_VIEW
integer LEVEL_NO_RENDER
Methods
public __construct ([array $options])
Phalcon\Mvc\View constructor
public Phalcon\Mvc\View setViewsDir (string $viewsDir)
Sets views directory. Depending of your platform, always add a trailing slash or backslash
public string getViewsDir ()
Gets views directory
public Phalcon\Mvc\View setLayoutsDir (string $layoutsDir)
Sets the layouts sub-directory. Must be a directory under the views directory. Depending of your platform, always add a trailing slash or backslash
$view->setLayoutsDir('../common/layouts/');
public string getLayoutsDir ()
Gets the current layouts sub-directory
public Phalcon\Mvc\View setPartialsDir (string $partialsDir)
Sets a partials sub-directory. Must be a directory under the views directory. Depending of your platform, always add a trailing slash or backslash
$view->setPartialsDir('../common/partials/');
public string getPartialsDir ()
Gets the current partials sub-directory
public Phalcon\Mvc\View setBasePath (string $basePath)
Sets base path. Depending of your platform, always add a trailing slash or backslash
$view->setBasePath(__DIR__ . '/');
public int getCurrentRenderLevel ()
Returns the render level for the view
public int getRenderLevel ()
Returns the render level for the view
public Phalcon\Mvc\View setRenderLevel (string $level)
Sets the render level for the view
//Render the view related to the controller only $this->view->setRenderLevel(View::LEVEL_LAYOUT);
public Phalcon\Mvc\View disableLevel (int|array $level)
Disables a specific level of rendering
//Render all levels except ACTION level $this->view->disableLevel(View::LEVEL_ACTION_VIEW);
public array getDisabledLevels ()
Returns an array with disabled render levels
public Phalcon\Mvc\View setMainView (string $viewPath)
Sets default view name. Must be a file without extension in the views directory
//Renders as main view views-dir/base.phtml $this->view->setMainView('base');
public string getMainView ()
Returns the name of the main view
public Phalcon\Mvc\View setLayout (string $layout)
Change the layout to be used instead of using the name of the latest controller name
$this->view->setLayout('main');
public string getLayout ()
Returns the name of the main view
public Phalcon\Mvc\View setTemplateBefore (string|array $templateBefore)
Appends template before controller layout
public Phalcon\Mvc\View cleanTemplateBefore ()
Resets any template before layouts
public Phalcon\Mvc\View setTemplateAfter (string|array $templateAfter)
Appends template after controller layout
public Phalcon\Mvc\View cleanTemplateAfter ()
Resets any template after layouts
public Phalcon\Mvc\View setParamToView (string $key, mixed $value)
Adds parameters to views (alias of setVar)
$this->view->setParamToView('products', $products);
public Phalcon\Mvc\View setVars (array $params, [boolean $merge])
Set all the render params
$this->view->setVars(array('products' => $products));
public Phalcon\Mvc\View setVar (string $key, mixed $value)
Set a single view parameter
$this->view->setVar('products', $products);
public mixed getVar (string $key)
Returns a parameter previously set in the view
public array getParamsToView ()
Returns parameters to views
public string getControllerName ()
Gets the name of the controller rendered
public string getActionName ()
Gets the name of the action rendered
public array getParams ()
Gets extra parameters of the action rendered
public Phalcon\Mvc\View start ()
Starts rendering process enabling the output buffering
protected array _loadTemplateEngines ()
Loads registered template engines, if none is registered it will use Phalcon\Mvc\View\Engine\Php
protected _engineRender ()
Checks whether view exists on registered extensions and render it
public Phalcon\Mvc\View registerEngines (array $engines)
Register templating engines
$this->view->registerEngines(array( ".phtml" => "Phalcon\Mvc\View\Engine\Php", ".volt" => "Phalcon\Mvc\View\Engine\Volt", ".mhtml" => "MyCustomEngine" ));
public getRegisteredEngines ()
Returns the registered templating engines
public exists (unknown $view)
...
public Phalcon\Mvc\View render (string $controllerName, string $actionName, [array $params])
Executes render process from dispatching data
//Shows recent posts view (app/views/posts/recent.phtml) $view->start()->render('posts', 'recent')->finish();
public Phalcon\Mvc\View pick (string|array $renderView)
Choose a different view to render instead of last-controller/last-action
class ProductsController extends Phalcon\Mvc\Controller { public function saveAction() { //Do some save stuff... //Then show the list view $this->view->pick("products/list"); } }
public partial (string $partialPath)
Renders a partial view
//Show a partial inside another view $this->partial('shared/footer');
//Show a partial inside another view with parameters $this->partial('shared/footer', array('content' => $html));
public string getRender (string $controllerName, string $actionName, [array $params], [mixed $configCallback])
Perform the automatic rendering returning the output as a string
$template = $this->view->getRender('products', 'show', array('products' => $products));
public Phalcon\Mvc\View finish ()
Finishes the render process by stopping the output buffering
protected Phalcon\Cache\BackendInterface _createCache ()
Create a Phalcon\Cache based on the internal cache options
public boolean isCaching ()
Check if the component is currently caching the output content
public Phalcon\Cache\BackendInterface getCache ()
Returns the cache instance used to cache
public Phalcon\Mvc\View cache ([boolean|array $options])
Cache the actual view render to certain level
$this->view->cache(array('key' => 'my-key', 'lifetime' => 86400));
public Phalcon\Mvc\View setContent (string $content)
Externally sets the view content
$this->view->setContent("<h1>hello</h1>");
public string getContent ()
Returns cached output from another view stage
public string getActiveRenderPath ()
Returns the path of the view that is currently rendered
public Phalcon\Mvc\View disable ()
Disables the auto-rendering process
public Phalcon\Mvc\View enable ()
Enables the auto-rendering process
public bool isDisabled ()
Whether automatic rendering is enabled
public Phalcon\Mvc\View reset ()
Resets the view component to its factory default values
public __set (unknown $property, mixed $value)
Magic method to pass variables to the views
$this->view->products = $products;
public mixed __get (unknown $property)
Magic method to retrieve a variable passed to the view
echo $this->view->products;
public mixed __isset (unknown $property)
Magic method to inaccessible a variable passed to the view
isset($this->view->products)
public setDI (Phalcon\DiInterface $dependencyInjector) inherited from Phalcon\DI\Injectable
Sets the dependency injector
public Phalcon\DiInterface getDI () inherited from Phalcon\DI\Injectable
Returns the internal dependency injector
public setEventsManager (Phalcon\Events\ManagerInterface $eventsManager) inherited from Phalcon\DI\Injectable
Sets the event manager
public Phalcon\Events\ManagerInterface getEventsManager () inherited from Phalcon\DI\Injectable
Returns the internal event manager
© 2011–2016 Phalcon Framework Team
Licensed under the Creative Commons Attribution License 3.0.
https://docs.phalconphp.com/en/2.0.0/api/Phalcon_Mvc_View.html