julienmonnerie/kirby/src/Toolkit/Facade.php
2025-04-21 18:57:21 +02:00

30 lines
626 B
PHP

<?php
namespace Kirby\Toolkit;
/**
* Laravel-style static facades
* for class instances
*
* @package Kirby Toolkit
* @author Bastian Allgeier <bastian@getkirby.com>
* @link https://getkirby.com
* @copyright Bastian Allgeier
* @license https://opensource.org/licenses/MIT
*/
abstract class Facade
{
/**
* Returns the instance that should be
* available statically
*/
abstract public static function instance();
/**
* Proxy for all public instance calls
*/
public static function __callStatic(string $method, array|null $args = null)
{
return static::instance()->$method(...$args);
}
}