Class **Phalcon\\Mvc\\View** ============================ *extends* abstract class :doc:`Phalcon\\Di\\Injectable ` *implements* :doc:`Phalcon\\Events\\EventsAwareInterface `, :doc:`Phalcon\\Di\\InjectionAwareInterface `, :doc:`Phalcon\\Mvc\\ViewInterface `, :doc:`Phalcon\\Mvc\\ViewBaseInterface ` .. role:: raw-html(raw) :format: html :raw-html:`Source on GitHub` 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. .. code-block:: php 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** *integer* **CACHE_MODE_NONE** *integer* **CACHE_MODE_INVERSE** Methods ------- public **getRenderLevel** () ... public **getCurrentRenderLevel** () ... public **getRegisteredEngines** () public **__construct** ([*array* $options]) Phalcon\\Mvc\\View constructor final protected **_isAbsolutePath** (*mixed* $path) Checks if a path is absolute or not public **setViewsDir** (*mixed* $viewsDir) Sets the views directory. Depending of your platform, always add a trailing slash or backslash public **getViewsDir** () Gets views directory public **setLayoutsDir** (*mixed* $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 .. code-block:: php setLayoutsDir('../common/layouts/'); public **getLayoutsDir** () Gets the current layouts sub-directory public **setPartialsDir** (*mixed* $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 .. code-block:: php setPartialsDir('../common/partials/'); public **getPartialsDir** () Gets the current partials sub-directory public **setBasePath** (*mixed* $basePath) Sets base path. Depending of your platform, always add a trailing slash or backslash .. code-block:: php setBasePath(__DIR__ . '/'); public **getBasePath** () Gets base path public **setRenderLevel** (*mixed* $level) Sets the render level for the view .. code-block:: php view->setRenderLevel(View::LEVEL_LAYOUT); public **disableLevel** (*mixed* $level) Disables a specific level of rendering .. code-block:: php view->disableLevel(View::LEVEL_ACTION_VIEW); public **setMainView** (*mixed* $viewPath) Sets default view name. Must be a file without extension in the views directory .. code-block:: php view->setMainView('base'); public **getMainView** () Returns the name of the main view public **setLayout** (*mixed* $layout) Change the layout to be used instead of using the name of the latest controller name .. code-block:: php view->setLayout('main'); public **getLayout** () Returns the name of the main view public **setTemplateBefore** (*mixed* $templateBefore) Sets a template before the controller layout public **cleanTemplateBefore** () Resets any "template before" layouts public **setTemplateAfter** (*mixed* $templateAfter) Sets a "template after" controller layout public **cleanTemplateAfter** () Resets any template before layouts public **setParamToView** (*mixed* $key, *mixed* $value) Adds parameters to views (alias of setVar) .. code-block:: php view->setParamToView('products', $products); public **setVars** (*array* $params, [*mixed* $merge]) Set all the render params .. code-block:: php view->setVars(['products' => $products]); public **setVar** (*mixed* $key, *mixed* $value) Set a single view parameter .. code-block:: php view->setVar('products', $products); public **getVar** (*mixed* $key) Returns a parameter previously set in the view public **getParamsToView** () Returns parameters to views public **getControllerName** () Gets the name of the controller rendered public **getActionName** () Gets the name of the action rendered public **getParams** () Gets extra parameters of the action rendered public **start** () Starts rendering process enabling the output buffering protected **_loadTemplateEngines** () Loads registered template engines, if none is registered it will use Phalcon\\Mvc\\View\\Engine\\Php protected **_engineRender** (*array* $engines, *string* $viewPath, *boolean* $silence, *boolean* $mustClean, [:doc:`Phalcon\\Cache\\BackendInterface ` $cache]) Checks whether view exists on registered extensions and render it public **registerEngines** (*array* $engines) Register templating engines .. code-block:: php view->registerEngines([ '.phtml' => 'Phalcon\Mvc\View\Engine\Php', '.volt' => 'Phalcon\Mvc\View\Engine\Volt', '.mhtml' => 'MyCustomEngine' ]); public **exists** (*mixed* $view) Checks whether view exists public **render** (*string* $controllerName, *string* $actionName, [*array* $params]) Executes render process from dispatching data .. code-block:: php start()->render('posts', 'recent')->finish(); public **pick** (*mixed* $renderView) Choose a different view to render instead of last-controller/last-action .. code-block:: php view->pick("products/list"); } } public **getPartial** (*mixed* $partialPath, [*mixed* $params]) Renders a partial view .. code-block:: php getPartial('shared/footer'); .. code-block:: php getPartial('shared/footer', ['content' => $html]); public **partial** (*mixed* $partialPath, [*mixed* $params]) Renders a partial view .. code-block:: php partial('shared/footer'); .. code-block:: php partial('shared/footer', ['content' => $html]); public *string* **getRender** (*string* $controllerName, *string* $actionName, [*array* $params], [*mixed* $configCallback]) Perform the automatic rendering returning the output as a string .. code-block:: php view->getRender('products', 'show', ['products' => $products]); public **finish** () Finishes the render process by stopping the output buffering protected **_createCache** () Create a Phalcon\\Cache based on the internal cache options public **isCaching** () Check if the component is currently caching the output content public **getCache** () Returns the cache instance used to cache public **cache** ([*mixed* $options]) Cache the actual view render to certain level .. code-block:: php view->cache(['key' => 'my-key', 'lifetime' => 86400]); public **setContent** (*mixed* $content) Externally sets the view content .. code-block:: php view->setContent("

hello

"); public **getContent** () Returns cached output from another view stage public **getActiveRenderPath** () Returns the path (or paths) of the views that are currently rendered public **disable** () Disables the auto-rendering process public **enable** () Enables the auto-rendering process public **reset** () Resets the view component to its factory default values public **__set** (*mixed* $key, *mixed* $value) Magic method to pass variables to the views .. code-block:: php view->products = $products; public **__get** (*mixed* $key) Magic method to retrieve a variable passed to the view .. code-block:: php view->products; public **isDisabled** () Whether automatic rendering is enabled public **__isset** (*mixed* $key) Magic method to retrieve if a variable is set in the view .. code-block:: php view->products); protected **getViewsDirs** () Gets views directories public **setDI** (:doc:`Phalcon\\DiInterface ` $dependencyInjector) inherited from :doc:`Phalcon\\Di\\Injectable ` Sets the dependency injector public **getDI** () inherited from :doc:`Phalcon\\Di\\Injectable ` Returns the internal dependency injector public **setEventsManager** (:doc:`Phalcon\\Events\\ManagerInterface ` $eventsManager) inherited from :doc:`Phalcon\\Di\\Injectable ` Sets the event manager public **getEventsManager** () inherited from :doc:`Phalcon\\Di\\Injectable ` Returns the internal event manager