protected function getArguments(Dispatch $dispatch, array $arguments = null): ? array
    {
        // Get either the arguments passed or from the dispatch model
        $arguments = $arguments ?? $dispatch->getArguments();
        $context   = $dispatch->getClass() ?? $dispatch->getFunction();
        $member    = $dispatch->getProperty() ?? $dispatch->getMethod();

        // Set the listener arguments to a new blank array
        $dependencies = $this->getDependencies($dispatch);

        // If there are no arguments
        if (null === $arguments) {
            // Return the dependencies only
            return $dependencies;
        }

        // Iterate through the arguments
        foreach ($arguments as $argument) {
            // If the argument is a service
            if ($argument instanceof Service) {
                // Dispatch the argument and set the results to the argument
                $argument = $this->app->container()->get(
                    $argument->getId(),
                    null,
                    $context,
                    $member
                );
            } // If the argument is a dispatch
            elseif ($argument instanceof Dispatch) {
                // Dispatch the argument and set the results to the argument
                $argument = $this->dispatchCallable($argument);
            }

            // Append the argument to the arguments list
            $dependencies[] = $argument;
        }

        return $dependencies;
    }
protected function getArguments(Dispatch $dispatch, array $arguments = null): ? array
    {
        // Get either the arguments passed or from the dispatch model
        $arguments = $arguments ?? $dispatch->getArguments();
        $context   = $dispatch->getClass() ?? $dispatch->getFunction();
        $member    = $dispatch->getProperty() ?? $dispatch->getMethod();

        // Set the listener arguments to a new blank array
        $dependencies = $this->getDependencies($dispatch);

        // If there are no arguments
        if (null === $arguments) {
            // Return the dependencies only
            return $dependencies;
        }

        // Iterate through the arguments
        foreach ($arguments as $argument) {
            // If the argument is a service
            if ($argument instanceof Service) {
                // Dispatch the argument and set the results to the argument
                $argument = $this->app->container()->get(
                    $argument->getId(),
                    null,
                    $context,
                    $member
                );
            } // If the argument is a dispatch
            elseif ($argument instanceof Dispatch) {
                // Dispatch the argument and set the results to the argument
                $argument = $this->dispatchCallable($argument);
            }

            // Append the argument to the arguments list
            $dependencies[] = $argument;
        }

        return $dependencies;
    }
protected function getArguments ( Dispatch $ dispatch , array $ arguments = null ) : ? array { // Get either the arguments passed or from the dispatch model $ arguments = $ arguments ?? $ dispatch -> getArguments ( ) ; $ context = $ dispatch -> getClass ( ) ?? $ dispatch -> getFunction ( ) ; $ member = $ dispatch -> getProperty ( ) ?? $ dispatch -> getMethod ( ) ; // Set the listener arguments to a new blank array $ dependencies = $ this -> getDependencies ( $ dispatch ) ; // If there are no arguments if ( null === $ arguments ) { // Return the dependencies only return $ dependencies ; } // Iterate through the arguments foreach ( $ arguments as $ argument ) { // If the argument is a service if ( $ argument instanceof Service ) { // Dispatch the argument and set the results to the argument $ argument = $ this -> app -> container ( ) -> get ( $ argument -> getId ( ) , null , $ context , $ member ) ; } // If the argument is a dispatch elseif ( $ argument instanceof Dispatch ) { // Dispatch the argument and set the results to the argument $ argument = $ this -> dispatchCallable ( $ argument ) ; } // Append the argument to the arguments list $ dependencies [ ] = $ argument ; } return $ dependencies ; }
Get a dispatch's arguments.

@param Dispatch $dispatch  The dispatch
@param array    $arguments [optional] The arguments

@return array
Get a dispatch s arguments .