(Lys) AbstractClass

Mercredi 17 Septembre 2025, 14:01:37

<?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);    }  }}