37 lines
633 B
PHP
37 lines
633 B
PHP
<?php
|
|
|
|
/**
|
|
* This file is part of the Nette Framework (https://nette.org)
|
|
* Copyright (c) 2004 David Grudl (https://davidgrudl.com)
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Nette;
|
|
|
|
|
|
/**
|
|
* Static class.
|
|
*/
|
|
trait StaticClass
|
|
{
|
|
/**
|
|
* @return never
|
|
* @throws \Error
|
|
*/
|
|
final public function __construct()
|
|
{
|
|
throw new \Error('Class ' . static::class . ' is static and cannot be instantiated.');
|
|
}
|
|
|
|
|
|
/**
|
|
* Call to undefined static method.
|
|
* @throws MemberAccessException
|
|
*/
|
|
public static function __callStatic(string $name, array $args): mixed
|
|
{
|
|
Utils\ObjectHelpers::strictStaticCall(static::class, $name);
|
|
}
|
|
}
|