Joomla15 - 最新开源CMS

源代码在线查看: object.php

软件大小: 4715 K
上传用户: feitiandy001
关键词: Joomla CMS 15 开源
下载地址: 免注册下载 普通下载 VIP

相关代码

								/**
				 * @version		$Id: object.php 7402 2007-05-14 04:18:28Z eddieajau $
				 * @package		Joomla.Framework
				 * @subpackage	Base
				 * @copyright	Copyright (C) 2005 - 2007 Open Source Matters. All rights reserved.
				 * @license		GNU/GPL, see LICENSE.php
				 * Joomla! is free software. This version may have been modified pursuant
				 * to the GNU General Public License, and as distributed it includes or
				 * is derivative of works licensed under the GNU General Public License or
				 * other free or open source software licenses.
				 * See COPYRIGHT.php for copyright notices and details.
				 */
				
				/**
				 * Object class, allowing __construct in PHP4.
				 *
				 * @author		Johan Janssens 
				 * @package		Joomla.Framework
				 * @subpackage	Base
				 * @since		1.5
				 */
				class JObject
				{									/**					 * An array of errors					 *					 * @var		array of error messages or JExceptions objects					 * @access	protected					 * @since	1.0					 */					var		$_errors		= array();				
					/**
					 * A hack to support __construct() on PHP 4
					 *
					 * Hint: descendant classes have no PHP4 class_name() constructors,
					 * so this constructor gets called first and calls the top-layer __construct()
					 * which (if present) should call parent::__construct()
					 *					 * @access	public
					 * @return	Object					 * @since	1.5
					 */
					function JObject()
					{
						$args = func_get_args();
						call_user_func_array(array(&$this, '__construct'), $args);
					}
				
					/**
					 * Class constructor, overridden in descendant classes.
					 *
					 * @access	protected					 * @since	1.5
					 */
					function __construct() {}
								
					/**
					 * Returns a property of the object or the default value if the property is not set.
					 *					 * @access	public
					 * @param	string $property The name of the property
					 * @param	mixed  $default The default value
					 * @return	mixed The value of the property
					 * @see		get(), getPublicProperties()					 * @since	1.5
				 	 */
					function get($property, $default=null)
					{
						if(isset($this->$property)) {
							return $this->$property;
						}
						return $default;
					}
									/**					 * Get the most recent error message					 *					 * @param	int		$i Option error index					 * @param	boolean	$toString Indicates if JError objects should return their error message					 * @return	string	Error message					 * @access	public					 * @since	1.5					 */					function getError($i = null, $toString = true )					{						// Find the error						if ( $i === null) {							// Default, return the last message							$error = end($this->_errors);						}						else						if ( ! array_key_exists($i, $this->_errors) ) {							// If $i has been specified but does not exist, return false							return false;						}						else {							$error	= $this->_errors[$i];						}										// Check if only the string is requested						if ( JError::isError($error) && $toString ) {							return $error->toString();						}										return $error;					}									/**					 * Return all errors, if any					 *					 * @access	public					 * @return	array	Array of error messages or JErrors					 * @since	1.5					 */					function getErrors()					{						return $this->_errors;					}				
					/**
					 * Returns an array of public properties
					 *					 * @access	public
					 * @param	boolean $assoc If true, returns an associative key=>value array
					 * @return	array
					 * @see		get(), toString()					 * @since	1.5
				 	 */
					function getPublicProperties( $assoc = false )
					{
						$vars = array(array(),array());
						foreach (get_object_vars( $this ) as $key => $val)
						{
							if (substr( $key, 0, 1 ) != '_')
							{
								$vars[0][] = $key;
								$vars[1][$key] = $val;
							}
						}
						return $vars[$assoc ? 1 : 0];
					}
									/**					 * Modifies a property of the object, creating it if it does not already exist.					 *					 * @access	public					 * @param	string $property The name of the property					 * @param	mixed  $value The value of the property to set					 * @return	mixed Previous value of the property					 * @since	1.5					 */					function set( $property, $value = null )
					{						$previous = isset($this->$property) ? $this->$property : null;						$this->$property = $value;						return $previous;					}									/**					 * Add an error message					 *					 * @param	string $error Error message					 * @access	public					 * @since	1.0					 */					function setError($error)					{						array_push($this->_errors, $error);					}				
					/**
					 * Object-to-string conversion.
					 * Each class can override it as necessary.
					 *					 * @access	public
					 * @return	string This name of this class					 * @since	1.5
				 	 */
					function toString()
					{
						return get_class($this);
					}
				}
							

相关资源