Current Directory: /home/astoriaah/www/old15/administrator/components/com_akeeba/alice/abstract
Viewing File: /home/astoriaah/www/old15/administrator/components/com_akeeba/alice/abstract/object.php
<?php
/**
* Akeeba Engine
* The modular PHP5 site backup engine
*
* @copyright Copyright (c)2009-2014 Nicholas K. Dionysopoulos
* @license GNU GPL version 3 or, at your option, any later version
* @package akeebaengine
*
*/
// Protection against direct access
defined('AKEEBAENGINE') or die();
/**
* The base class of Akeeba Engine objects. Allows for error and warnings logging
* and propagation. Largely based on the Joomla! 1.5 JObject class.
*/
abstract class AliceAbstractObject extends \Akeeba\Engine\Base\Object
{
/**
* Public constructor, makes sure we are instanciated only by the factory class
*/
public function __construct()
{
// TODO what about removing this check?
// Assisted Singleton pattern
if (function_exists('debug_backtrace'))
{
$caller = debug_backtrace();
if (
($caller[1]['class'] != 'AliceFactory') &&
($caller[2]['class'] != 'AliceFactory') &&
($caller[3]['class'] != 'AliceFactory') &&
($caller[4]['class'] != 'AliceFactory')
)
{
trigger_error("You can't create direct descendants of " . __CLASS__, E_USER_ERROR);
}
}
}
}