PHP 8.3.31
Preview: ForwardsCalls.php Size: 1.83 KB
/home/getspomw/royalsquad.us/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php

<?php

namespace Illuminate\Support\Traits;

use BadMethodCallException;
use Error;

trait ForwardsCalls
{
    /**
     * Forward a method call to the given object.
     *
     * @param  mixed  $object
     * @param  string  $method
     * @param  array  $parameters
     * @return mixed
     *
     * @throws \BadMethodCallException
     */
    protected function forwardCallTo($object, $method, $parameters)
    {
        try {
            return $object->{$method}(...$parameters);
        } catch (Error|BadMethodCallException $e) {
            $pattern = '~^Call to undefined method (?P<class>[^:]+)::(?P<method>[^\(]+)\(\)$~';

            if (! preg_match($pattern, $e->getMessage(), $matches)) {
                throw $e;
            }

            if ($matches['class'] != get_class($object) ||
                $matches['method'] != $method) {
                throw $e;
            }

            static::throwBadMethodCallException($method);
        }
    }

    /**
     * Forward a method call to the given object, returning $this if the forwarded call returned itself.
     *
     * @param  mixed  $object
     * @param  string  $method
     * @param  array  $parameters
     * @return mixed
     *
     * @throws \BadMethodCallException
     */
    protected function forwardDecoratedCallTo($object, $method, $parameters)
    {
        $result = $this->forwardCallTo($object, $method, $parameters);

        return $result === $object ? $this : $result;
    }

    /**
     * Throw a bad method call exception for the given method.
     *
     * @param  string  $method
     * @return never
     *
     * @throws \BadMethodCallException
     */
    protected static function throwBadMethodCallException($method)
    {
        throw new BadMethodCallException(sprintf(
            'Call to undefined method %s::%s()', static::class, $method
        ));
    }
}

Directory Contents

Dirs: 0 × Files: 7

Name Size Perms Modified Actions
1.40 KB lrw-rw-rw- 2025-09-17 06:53:02
Edit Download
480 B lrw-rw-rw- 2025-09-17 06:53:02
Edit Download
1.83 KB lrw-rw-rw- 2025-09-17 06:53:02
Edit Download
9.65 KB lrw-rw-rw- 2025-09-17 06:53:02
Edit Download
629 B lrw-rw-rw- 2025-09-17 06:53:02
Edit Download
2.52 KB lrw-rw-rw- 2025-09-17 06:53:02
Edit Download
395 B lrw-rw-rw- 2025-09-17 06:53:02
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).