<?php /** * This file is part of the CodeIgniter 4 framework. * * (c) CodeIgniter Foundation <admin@codeigniter.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace CodeIgniter\Config; /** * View configuration */ class View extends BaseConfig { /** * When false, the view method will clear the data between each * call. * * @var boolean */ public $saveData = true; /** * Parser Filters map a filter name with any PHP callable. When the * Parser prepares a variable for display, it will chain it * through the filters in the order defined, inserting any parameters. * * To prevent potential abuse, all filters MUST be defined here * in order for them to be available for use within the Parser. */ public $filters = []; /** * Parser Plugins provide a way to extend the functionality provided * by the core Parser by creating aliases that will be replaced with * any callable. Can be single or tag pair. */ public $plugins = []; /** * Built-in View filters. * * @var array */ protected $coreFilters = [ 'abs' => '\abs', 'capitalize' => '\CodeIgniter\View\Filters::capitalize', 'date' => '\CodeIgniter\View\Filters::date', 'date_modify' => '\CodeIgniter\View\Filters::date_modify', 'default' => '\CodeIgniter\View\Filters::default', 'esc' => '\CodeIgniter\View\Filters::esc', 'excerpt' => '\CodeIgniter\View\Filters::excerpt', 'highlight' => '\CodeIgniter\View\Filters::highlight', 'highlight_code' => '\CodeIgniter\View\Filters::highlight_code', 'limit_words' => '\CodeIgniter\View\Filters::limit_words', 'limit_chars' => '\CodeIgniter\View\Filters::limit_chars', 'local_currency' => '\CodeIgniter\View\Filters::local_currency', 'local_number' => '\CodeIgniter\View\Filters::local_number', 'lower' => '\strtolower', 'nl2br' => '\CodeIgniter\View\Filters::nl2br', 'number_format' => '\number_format', 'prose' => '\CodeIgniter\View\Filters::prose', 'round' => '\CodeIgniter\View\Filters::round', 'strip_tags' => '\strip_tags', 'title' => '\CodeIgniter\View\Filters::title', 'upper' => '\strtoupper', ]; /** * Built-in View plugins. * * @var array */ protected $corePlugins = [ 'current_url' => '\CodeIgniter\View\Plugins::currentURL', 'previous_url' => '\CodeIgniter\View\Plugins::previousURL', 'mailto' => '\CodeIgniter\View\Plugins::mailto', 'safe_mailto' => '\CodeIgniter\View\Plugins::safeMailto', 'lang' => '\CodeIgniter\View\Plugins::lang', 'validation_errors' => '\CodeIgniter\View\Plugins::validationErrors', 'route' => '\CodeIgniter\View\Plugins::route', 'siteURL' => '\CodeIgniter\View\Plugins::siteURL', ]; /** * Constructor. * * Merge the built-in and developer-configured filters and plugins, * with preference to the developer ones. */ public function __construct() { $this->filters = array_merge($this->coreFilters, $this->filters); $this->plugins = array_merge($this->corePlugins, $this->plugins); parent::__construct(); } }