Server IP : 192.158.238.246 / Your IP : 216.73.216.81 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/7779/root/proc/7779/cwd/plugins/give/src/Framework/FieldsAPI/Concerns/ |
Upload File : |
<?php namespace Give\Framework\FieldsAPI\Concerns; use BadMethodCallException; use Closure; /** * @since 2.17.0 */ trait Macroable { /** @var array */ protected static $macros = []; /** * Add a macro to the class. * * @since 2.17.0 * * @param string $name * @param callable $macro * * @return void */ public static function macro($name, callable $macro) { static::$macros[$name] = $macro; } /** * Check if the class has the named macro. * * @since 2.17.0 * * @param string $name * * @return bool */ public static function hasMacro($name) { return isset(static::$macros[$name]); } /** * Call the macro * * @since 2.17.0 * * @param string $method * @param array $parameters * * @return mixed * * @throws BadMethodCallException */ public function __call($method, array $parameters) { if ( ! static::hasMacro($method)) { throw new BadMethodCallException( sprintf( 'Method %s::%s does not exist', $method, static::class ) ); } $macro = static::$macros[$method]; if ($macro instanceof Closure) { $macro = $macro->bindTo($this, static::class); } return $macro(...$parameters); } }