Класс Phalcon\Mvc\View

расширяет абстрактный класс Phalcon\Di\Injectable

Реализует Phalcon\Events\EventsAwareInterface, Phalcon\Di\InjectionAwareInterface, Phalcon\Mvc\ViewInterface, Phalcon\Mvc\ViewBaseInterface

Source on GitHub

Phalcon\Mvc\View-это класс для работы с частью" view " шаблона model-view-controller. То есть он существует, чтобы помочь сохранить сценарий представления отдельно от сценариев модели и контроллера. Он предоставляет систему помощников, выходных фильтров и экранирования переменных.

<?php

use Phalcon\Mvc\View;

$view = new View();

// Настройка каталога представлений
$view->setViewsDir("app/views/");

$view->start();

// Показывает недавние сообщения (app/views/posts/recent.phtml)
$view->render("posts", "recent");
$view->finish();

// Печать результатов просмотра
echo $view->getContent();

Константы

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 конструктор

final protected _isAbsolutePath (mixed $path)

Проверяет, является ли путь абсолютным или нет

public setViewsDir (mixed $viewsDir)

Устанавливает каталог представлений. В зависимости от вашей платформы всегда добавляйте конечную косую черту или обратную косую черту

public getViewsDir ()

Возвращает каталог представлений

public setLayoutsDir (mixed $layoutsDir)

Устанавливает подкаталог макетов. Должен быть каталог под каталогом представлений. В зависимости от вашей платформы всегда добавляйте конечную косую черту или обратную косую черту

<?php

$view->setLayoutsDir("../common/layouts/");

public getLayoutsDir ()

Возвращает подкаталог текущего макета

public setPartialsDir (mixed $partialsDir)

Задает подкаталог partials. Должен быть каталогом в каталоге views. В зависимости от платформы всегда добавляйте косую черту или обратную косую черту

<?php

$view->setPartialsDir("../common/partials/");

public getPartialsDir ()

Возвращает текущий подкаталог partials

public setBasePath (mixed $basePath)

Устанавливает базовый путь. В зависимости от платформы всегда добавляйте косую черту или обратную косую черту

<?php

    $view->setBasePath(__DIR__ . "/");

public getBasePath ()

Возвращает базовый путь

public setRenderLevel (mixed $level)

Задает уровень визуализации для представления

<?php

// Визуализация представления, связанного только с контроллером
$this->view->setRenderLevel(
    View::LEVEL_LAYOUT
);

public disableLevel (mixed $level)

Отключает определенный уровень визуализации

<?php

// Рендеринг всех уровней, кроме уровня ACTION
$this->view->disableLevel(
    View::LEVEL_ACTION_VIEW
);

public setMainView (mixed $viewPath)

Задает имя представления по умолчанию. Должен быть файл без расширения в каталоге Views

<?php

// Визуализация в качестве основного вида views-dir/base.phtml
$this->view->setMainView("base");

public getMainView ()

Возвращает имя главного вида

public setLayout (mixed $layout)

Изменение макета для использования вместо имени последнего контроллера

<?php

$this->view->setLayout("main");

public getLayout ()

Возвращает имя главного вида

public setTemplateBefore (mixed $templateBefore)

Задает шаблон перед компоновкой контроллера

public cleanTemplateBefore ()

Сбрасывает все макеты "перед шаблоном"

public setTemplateAfter (mixed $templateAfter)

Устанавливает макет контроллера "после шаблона"

public cleanTemplateAfter ()

Сбрасывает любой шаблон перед макетами

public setParamToView (mixed $key, mixed $value)

Добавляет параметры в представления (псевдоним setVar)

<?php

$this->view->setParamToView("products", $products);

public setVars (array $params, [mixed $merge])

Задает все параметры визуализации

<?php

$this->view->setVars(
    [
        "products" => $products,
    ]
);

public setVar (mixed $key, mixed $value)

Задает один параметр представления

<?php

$this->view->setVar("products", $products);

public getVar (mixed $key)

Возвращает параметр, ранее установленный в представлении

public getParamsToView ()

Возвращает параметры из представления

public getControllerName ()

Получает имя обработанного контроллера

public getActionName ()

Получает имя отображаемого действия

public getParams ()

Получает дополнительные параметры выполняемого действия

public start ()

Начинает процесс рендеринга, обеспечивающий буферизацию вывода

protected _loadTemplateEngines ()

Загружает зарегистрированные шаблонизаторы, если ни один не зарегистрирован, он будет использовать Phalcon\Mvc\View\Engine\Php

protected _engineRender (array $engines, string $viewPath, boolean $silence, boolean $mustClean, [Phalcon\Cache\BackendInterface $cache])

Проверяет, существует ли представление для зарегистрированных расширений, и отображает его

public registerEngines (array $engines)

Регистрация шаблонизаторов

<?php

$this->view->registerEngines(
    [
        ".phtml" => "Phalcon\\Mvc\\View\\Engine\\Php",
        ".volt"  => "Phalcon\\Mvc\\View\\Engine\\Volt",
        ".mhtml" => "MyCustomEngine",
    ]
);

public exists (mixed $view)

Проверяет, существует ли вид

public render (string $controllerName, string $actionName, [array $params])

Выполняет процесс визуализации из диспетчеризации данных

<?php

// Показывает недавние сообщения (app/views/posts/recent.phtml)
$view->start()->render("posts", "recent")->finish();

public pick (mixed $renderView)

Выбрать другое представление для визуализации вместо последнего контроллера / последнего действия

<?php

use Phalcon\Mvc\Controller;

class ProductsController extends Controller
{
   public function saveAction()
   {
        // Do some save stuff...

        // Then show the list view
        $this->view->pick("products/list");
   }
}

public getPartial (mixed $partialPath, [mixed $params])

Визуализация частичного представления

<?php

// Извлечение содержимого части
echo $this->getPartial("shared/footer");
<?php

// Получение содержимого части с аргументами
echo $this->getPartial(
    "shared/footer",
    [
        "content" => $html,
    ]
);

public partial (mixed $partialPath, [mixed $params])

Визуализация частичного представления

<?php

// Отображение части внутри другого представления
$this->partial("shared/footer");
<?php

// Отображение части внутри другого представления с параметрами
$this->partial(
    "shared/footer",
    [
        "content" => $html,
    ]
);

public string getRender (string $controllerName, string $actionName, [array $params], [mixed $configCallback])

Выполнение автоматической отрисовки, возвращающей выходные данные в виде строки

<?php

$template = $this->view->getRender(
    "products",
    "show",
    [
        "products" => $products,
    ]
);

public finish ()

Завершает процесс рендеринга, останавливая буферизацию выходных данных

protected _createCache ()

Создание Phalcon\Cache на основе параметров внутреннего кэша

public isCaching ()

Проверяет, кэширует ли компонент в данный момент выходное содержимое

public getCache ()

Возвращает экземпляр кэша, используемый для кэширования

public cache ([mixed $options])

Кэшировать отображение фактического вида до определенного уровня

<?php

$this->view->cache(
    [
        "key"      => "my-key",
        "lifetime" => 86400,
    ]
);

public setContent (mixed $content)

Внешне задает содержимое представления

<?php

$this->view->setContent("<h1>hello</h1>");

public getContent ()

Возвращает кэшированные выходные данные из другого этапа представления

public getActiveRenderPath ()

Возвращает путь (или пути) отображаемых в данный момент представлений

public disable ()

Отключает процесс автоматической отрисовки

public enable ()

Включает процесс автоматической отрисовки

public reset ()

Сбрасывает компонент представления в  значения по умолчанию

public __set (mixed $key, mixed $value)

Магический метод передачи переменных в представления

<?php

$this->view->products = $products;

public __get (mixed $key)

Магический метод для получения переменной, переданной в представление

<?php

echo $this->view->products;

public isDisabled ()

Включен ли автоматический рендеринг

public __isset (mixed $key)

Магический метод для извлечения, если переменная задана в представлении

<?php

echo isset($this->view->products);

protected getViewsDirs ()

Возвращает каталоги просмотров

public setDI (Phalcon\DiInterface $dependencyInjector) inherited from Phalcon\Di\Injectable

Устанавливает инжектор зависимостей

public getDI () inherited from Phalcon\Di\Injectable

Возвращает внутренний инжектор зависимостей

public setEventsManager (Phalcon\Events\ManagerInterface $eventsManager) inherited from Phalcon\Di\Injectable

Устанавливает менеджер событий

public getEventsManager () inherited from Phalcon\Di\Injectable

Возвращает внутренний менеджер событий