<?php
/*
WAObject.lib, DomCore, the WebAbility(r) Core System
Contains the basic object to give variables security to all classes
(c) 2008-2012 Philippe Thomassigny
This file is part of DomCore
DomCore is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
DomCore is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with DomCore. If not, see <http://www.gnu.org/licenses/>.
*/
/* @UML_Box
|------------------------------------------------------------------|
| WAObject : DomCore Basic Object |
|------------------------------------------------------------------|
| # ::$ibase: Base singleton |
| # $base: Base singleton |
|------------------------------------------------------------------|
| + new WAObject() |
| + ::setBase($base: Base) |
| // Magic functions: |
| + __get($name: string) : string |
| + __set($name: string, $val: any) |
| + __call($name: string, $vars: any) |
| + explain($indent: integer): string |
|------------------------------------------------------------------|
@End_UML_Box */
class WAObject extends WADebug
{
protected static $ibase = null;
protected $base = null;
public function __construct()
{
parent::__construct();
$this->base = self::$ibase;
}
public static function setBase($base)
{
self::$ibase = $base;
}
public function __get($name)
{
throw new CoreError(WAMessage::getMessage('WAObject.badget').get_class($this).'.'.$name);
}
public function __set($name, $val)
{
throw new CoreError(WAMessage::getMessage('WAObject.badset').get_class($this).'.'.$name);
}
public function __call($name, $vars)
{
throw new CoreError(WAMessage::getMessage('WAObject.badcall').get_class($this).'.'.$name.'()');
}
// DEBUG FUNCTIONS
public function explain($indent = 0)
{
return parent::explain($indent, array('base', 'ibase'));
}
}
?>
|