protected function getURL( $method_name, array $placeholder_values = [] )
    {
        if ( !array_key_exists( $method_name, $this::URLS ) ) {
            throw new \RuntimeException(
                "Method '$method_name' is not supported for "
                . get_class($this)
                . ' resource'
            );
        }

        $url = $this::URLS[$method_name];
        foreach ( $placeholder_values as $placeholder => $value ) {
            $url = preg_replace( "/\{$placeholder\}/", "$value", $url );
        }

        return $url;
    }
protected function getURL( $method_name, array $placeholder_values = [] )
    {
        if ( !array_key_exists( $method_name, $this::URLS ) ) {
            throw new \RuntimeException(
                "Method '$method_name' is not supported for "
                . get_class($this)
                . ' resource'
            );
        }

        $url = $this::URLS[$method_name];
        foreach ( $placeholder_values as $placeholder => $value ) {
            $url = preg_replace( "/\{$placeholder\}/", "$value", $url );
        }

        return $url;
    }
protected function getURL ( $ method_name , array $ placeholder_values = [ ] ) { if ( ! array_key_exists ( $ method_name , $ this :: URLS ) ) { throw new \ RuntimeException ( "Method '$method_name' is not supported for " . get_class ( $ this ) . ' resource' ) ; } $ url = $ this :: URLS [ $ method_name ] ; foreach ( $ placeholder_values as $ placeholder => $ value ) { $ url = preg_replace ( "/\{$placeholder\}/" , "$value" , $ url ) ; } return $ url ; }
Returns the URL for the given method name, including its replaced placeholders.

@param string $method_name               E. g. 'get', 'all', etc.
@param array  $placeholder_values        Array of placeholder => value pairs,
e. g. [ 'object_id' => 2 ] will replace
{object_id} in URL with 2.

@return string                           URL, e. g. 'tickets/10'.
Returns the URL for the given method name including its replaced placeholders .