⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 view.php.svn-base

📁 j2me is based on j2mepolish, client & server for mobile application. server part
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
<?php/* SVN FILE: $Id: view.php 4202 2006-12-25 12:06:13Z phpnut $ *//** * Methods for displaying presentation data in the view. * * * PHP versions 4 and 5 * * CakePHP :  Rapid Development Framework <http://www.cakephp.org/> * Copyright (c)	2006, Cake Software Foundation, Inc. *								1785 E. Sahara Avenue, Suite 490-204 *								Las Vegas, Nevada 89104 * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * * @filesource * @copyright		Copyright (c) 2006, Cake Software Foundation, Inc. * @link				http://www.cakefoundation.org/projects/info/cakephp CakePHP Project * @package			cake * @subpackage		cake.cake.libs.view * @since			CakePHP v 0.10.0.1076 * @version			$Revision: 4202 $ * @modifiedby		$LastChangedBy: phpnut $ * @lastmodified	$Date: 2006-12-25 06:06:13 -0600 (Mon, 25 Dec 2006) $ * @license			http://www.opensource.org/licenses/mit-license.php The MIT License *//** * Included libraries. */uses (DS . 'view' . DS . 'helper');/** * View, the V in the MVC triad. * * Class holding methods for displaying presentation data. * * @package			cake * @subpackage		cake.cake.libs.view */class View extends Object{/** * Name of the controller. * * @var string Name of controller * @access public */	var $name = null;/** * Stores the current URL (for links etc.) * * @var string Current URL * @access public */	var $here = null;/** * Action to be performed. * * @var string Name of action * @access public */	var $action = null;/** * An array of names of built-in helpers to include. * * @var mixed A single name as a string or a list of names as an array. * @access public */	var $helpers = array('Html');/** * Path to View. * * @var string Path to View * @access public */	var $viewPath;/** * Replaced with public var viewVars * @access protected * @deprecated */	var $_viewVars = array();/** * Variables for the view * * @var array * @access public */	var $viewVars = array();/** * Title HTML element of this View. * * @var boolean * @access public */	var $pageTitle = false;/** * Path parts for creating links in views. * * @var string Base URL * @access public */	var $base = null;/** * Name of layout to use with this View. * * @var string * @access public */	var $layout = 'default';/** * Turns on or off Cake's conventional mode of rendering views. On by default. * * @var boolean * @access public */	var $autoRender = true;/** * Turns on or off Cake's conventional mode of finding layout files. On by default. * * @var boolean * @access public */	var $autoLayout = true;/** * Array of parameter data * * @var array Parameter data * @access public */	var $params;/** * True when the view has been rendered. * * @var boolean * @access protected */	var $_hasRendered = null;/** * @deprecated will not be avialable after 1.1.x.x */	var $controller = null;/** * Array of loaded view helpers. * * @var array * @access public */	var $loaded = array();/** * File extension. Defaults to Cake's conventional ".thtml". * * @var array * @access public */	var $ext = '.thtml';/** * Sub-directory for this view file. * * @var string * @access public */	var $subDir = null;/** * The directory where theme web accessible content is stored * * @var array * @access public */	var $themeWeb = null;/** * Plugin name. A Plugin is a sub-application. * This is used to set the correct paths for views * * @var string * @access public */	var $plugin = null;/**/** * List of variables to collect from the associated controller * * @var array * @access protected */	var $_passedVars = array('viewVars', 'action', 'autoLayout', 'autoRender', 'ext', 'base', 'webroot', 'helpers', 'here', 'layout', 'modelNames', 'name', 'pageTitle', 'viewPath', 'params', 'data', 'webservices', 'plugin');/** * Constructor * * Instance is created in Controller::render() and is never called directly * * @var object instance of the calling controller */	function __construct(&$controller) {		if(is_object($controller)) {			$this->controller =& $controller;			$c = count($this->_passedVars);			for ($j = 0; $j < $c; $j++) {				$var = $this->_passedVars[$j];				$this->{$var} = $controller->{$var};			}			$this->_viewVars =& $this->viewVars;		}		parent::__construct();	}/** * Renders view for given action and layout. If $file is given, that is used * for a view filename (e.g. customFunkyView.thtml). * * @param string $action Name of action to render for * @param string $layout Layout to use * @param string $file Custom filename for view * @return mixed returns an error if View::render() fails to find a related template. * 					boolean on successful render * @access public */	function render($action = null, $layout = null, $file = null) {		if (isset($this->_hasRendered) && $this->_hasRendered) {			return true;		} else {			$this->_hasRendered = false;		}		if (!$action) {			$action = $this->action;		}		if ($layout) {			$this->setLayout($layout);		}		if ($file) {			$viewFileName = $file;		} else {			$viewFileName = $this->_getViewFileName($action);		}		if (!is_null($this->plugin) && is_null($file)) {			return $this->pluginView($action, $layout);		}		if (!is_file($viewFileName) && !fileExistsInPath($viewFileName) || $viewFileName === '/' || $viewFileName === '\\') {			if (strpos($action, 'missingAction') !== false) {				$errorAction = 'missingAction';			} else {				$errorAction = 'missingView';			}			foreach(array($this->name, 'errors') as $viewDir) {				$errorAction = Inflector::underscore($errorAction);				if (file_exists(VIEWS . $viewDir . DS . $errorAction . $this->ext)) {					$missingViewFileName = VIEWS . $viewDir . DS . $errorAction . $this->ext;				} elseif($missingViewFileName = fileExistsInPath(LIBS . 'view' . DS . 'templates' . DS . $viewDir . DS . $errorAction . '.thtml')) {				} else {					$missingViewFileName = false;				}				$missingViewExists = is_file($missingViewFileName);				if ($missingViewExists) {					break;				}			}			if (strpos($action, 'missingView') === false) {				return $this->cakeError('missingView', array(array('className' => $this->controller->name,																					'action' => $action,																					'file' => $viewFileName,																					'base' => $this->base)));				$isFatal = isset($this->isFatal) ? $this->isFatal : false;				if (!$isFatal) {					$viewFileName = $missingViewFileName;				}			} else {				$missingViewExists = false;			}			if (!$missingViewExists || $isFatal) {				if (Configure::read() > 0) {					trigger_error(sprintf("No template file for view %s (expected %s), create it first'", $action, $viewFileName), E_USER_ERROR);				} else {					$this->error('404', 'Not found', sprintf("The requested address %s was not found on this server.", '', "missing view \"{$action}\""));				}				die();			}		}		if ($viewFileName && !$this->_hasRendered) {			if (substr($viewFileName, -5) === 'thtml') {				$out = View::_render($viewFileName, $this->viewVars);			} else {				$out = $this->_render($viewFileName, $this->viewVars);			}			if ($out !== false) {				if ($this->layout && $this->autoLayout) {					$out = $this->renderLayout($out);					if (isset($this->loaded['cache']) && ((isset($this->controller) && $this->controller->cacheAction != false)) && (defined('CACHE_CHECK') && CACHE_CHECK === true)) {						$replace = array('<cake:nocache>', '</cake:nocache>');						$out = str_replace($replace, '', $out);					}				}				print $out;				$this->_hasRendered = true;			} else {				$out = $this->_render($viewFileName, $this->viewVars);				trigger_error(sprintf("Error in view %s, got: <blockquote>%s</blockquote>", $viewFileName, $out), E_USER_ERROR);			}			return true;		}	}/** * Renders a piece of PHP with provided parameters and returns HTML, XML, or any other string. * * This realizes the concept of Elements, (or "partial layouts") * and the $params array is used to send data to be used in the Element. * * @param string $name Name of template file in the/app/views/elements/ folder * @param array $params Array of data to be made available to the for rendered view (i.e. the Element) * @return string Rendered output * @access public */	function renderElement($name, $params = array()) {		$params = array_merge_recursive($params, $this->loaded);		if(isset($params['plugin'])) {			$this->plugin = $params['plugin'];		}		if (!is_null($this->plugin)) {			if (file_exists(APP . 'plugins' . DS . $this->plugin . DS . 'views' . DS . 'elements' . DS . $name . $this->ext)) {				$elementFileName = APP . 'plugins' . DS . $this->plugin . DS . 'views' . DS . 'elements' . DS . $name . $this->ext;				return $this->_render($elementFileName, array_merge($this->viewVars, $params), false);			}		}		$paths = Configure::getInstance();		foreach($paths->viewPaths as $path) {			if (file_exists($path . 'elements' . DS . $name . $this->ext)) {				$elementFileName = $path . 'elements' . DS . $name . $this->ext;				return $this->_render($elementFileName, array_merge($this->viewVars, $params), false);			}		}		return "(Error rendering Element: {$name})";	}/** * Wrapper for View::renderElement(); * * @param string $name Name of template file in the/app/views/elements/ folder * @param array $params Array of data to be made available to the for rendered view (i.e. the Element) * @return string View::renderElement() * @access public */	function element($name, $params = array()) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -