<?php /** * CodeIgniter * * An open source application development framework for PHP * * This content is released under the MIT License (MIT) * * Copyright (c) 2014-2019 British Columbia Institute of Technology * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. * * @package CodeIgniter * @author CodeIgniter Dev Team * @copyright 2014-2019 British Columbia Institute of Technology (https://bcit.ca/) * @license https://opensource.org/licenses/MIT MIT License * @link https://codeigniter.com * @since Version 3.0.0 * @filesource */ namespace CodeIgniter\View; /** * Interface RendererInterface * * The interface used for displaying Views and/or theme files. * * @package CodeIgniter\View */ interface RendererInterface { /** * Builds the output based upon a file name and any * data that has already been set. * * @param string $view * @param array $options Reserved for 3rd-party uses since * it might be needed to pass additional info * to other template engines. * @param boolean $saveData If true, will save data for use with any other calls, * if false, will clean the data after displaying the view, * if not specified, use the config setting. * * @return string */ public function render(string $view, array $options = null, bool $saveData = false): string; //-------------------------------------------------------------------- /** * Builds the output based upon a string and any * data that has already been set. * * @param string $view The view contents * @param array $options Reserved for 3rd-party uses since * it might be needed to pass additional info * to other template engines. * @param boolean $saveData If true, will save data for use with any other calls, * if false, will clean the data after displaying the view, * if not specified, use the config setting. * * @return string */ public function renderString(string $view, array $options = null, bool $saveData = false): string; //-------------------------------------------------------------------- /** * Sets several pieces of view data at once. * * @param array $data * @param string $context The context to escape it for: html, css, js, url * If 'raw', no escaping will happen * * @return RendererInterface */ public function setData(array $data = [], string $context = null); //-------------------------------------------------------------------- /** * Sets a single piece of view data. * * @param string $name * @param mixed $value * @param string $context The context to escape it for: html, css, js, url * If 'raw' no escaping will happen * * @return RendererInterface */ public function setVar(string $name, $value = null, string $context = null); //-------------------------------------------------------------------- /** * Removes all of the view data from the system. * * @return RendererInterface */ public function resetData(); //-------------------------------------------------------------------- }