<?php/** * Lys * * GNU General Public License * * Copyright © 2007 - 2025, Yohann Schwan. All rights reserved. */namespace Lys { abstract class AbstractClass { /** * @args array $parameters = array() * @return void */ final function __construct(array $parameters = array()) { foreach($parameters as $name => $value) { $this->$name = $value; } $this->__wakeup(); } /** * @args void * @return void */ function __wakeup() { # } /** * @args void * @return array */ function __sleep() { return array_keys(get_object_vars($this)); } /** * @args string $name * @return mixed */ function __get($name) { throw new UndefinedPropertyException(get_class($this) . '::$' . $name); } /** * @args string $name, mixed $value * @return void */ function __set($name, $value) { throw new UndefinedPropertyException(get_class($this) . '::$' . $name, $value); } /** * @args string $name, array $args = array() * @return void */ function __call($name, array $args = array()) { throw new UndefinedMethodException(get_class($this) . '::' . $name, $args); } }}