protected function getDefaultArgs()
    {
        $defaultArgs = [
            Argument::createBooleanTypeArgument('backend_context', false),
            Argument::createBooleanTypeArgument('force_return', false),
            Argument::createAnyTypeArgument('type'),
            Argument::createBooleanTypeArgument('no-cache', false),
            Argument::createBooleanTypeArgument('return_url', true)
        ];

        if (true === $this->countable) {
            $defaultArgs[] = Argument::createIntTypeArgument('offset', 0);
            $defaultArgs[] = Argument::createIntTypeArgument('page');
            $defaultArgs[] = Argument::createIntTypeArgument('limit', PHP_INT_MAX);
        }

        if ($this instanceof SearchLoopInterface) {
            $defaultArgs[] = Argument::createAnyTypeArgument('search_term');
            $defaultArgs[] = new Argument(
                'search_in',
                new TypeCollection(
                    new EnumListType($this->getSearchIn())
                )
            );
            $defaultArgs[] = new Argument(
                'search_mode',
                new TypeCollection(
                    new EnumType(
                        [
                            SearchLoopInterface::MODE_ANY_WORD,
                            SearchLoopInterface::MODE_SENTENCE,
                            SearchLoopInterface::MODE_STRICT_SENTENCE,
                        ]
                    )
                ),
                SearchLoopInterface::MODE_STRICT_SENTENCE
            );
        }

        return $defaultArgs;
    }
protected function getDefaultArgs()
    {
        $defaultArgs = [
            Argument::createBooleanTypeArgument('backend_context', false),
            Argument::createBooleanTypeArgument('force_return', false),
            Argument::createAnyTypeArgument('type'),
            Argument::createBooleanTypeArgument('no-cache', false),
            Argument::createBooleanTypeArgument('return_url', true)
        ];

        if (true === $this->countable) {
            $defaultArgs[] = Argument::createIntTypeArgument('offset', 0);
            $defaultArgs[] = Argument::createIntTypeArgument('page');
            $defaultArgs[] = Argument::createIntTypeArgument('limit', PHP_INT_MAX);
        }

        if ($this instanceof SearchLoopInterface) {
            $defaultArgs[] = Argument::createAnyTypeArgument('search_term');
            $defaultArgs[] = new Argument(
                'search_in',
                new TypeCollection(
                    new EnumListType($this->getSearchIn())
                )
            );
            $defaultArgs[] = new Argument(
                'search_mode',
                new TypeCollection(
                    new EnumType(
                        [
                            SearchLoopInterface::MODE_ANY_WORD,
                            SearchLoopInterface::MODE_SENTENCE,
                            SearchLoopInterface::MODE_STRICT_SENTENCE,
                        ]
                    )
                ),
                SearchLoopInterface::MODE_STRICT_SENTENCE
            );
        }

        return $defaultArgs;
    }
protected function getDefaultArgs ( ) { $ defaultArgs = [ Argument :: createBooleanTypeArgument ( 'backend_context' , false ) , Argument :: createBooleanTypeArgument ( 'force_return' , false ) , Argument :: createAnyTypeArgument ( 'type' ) , Argument :: createBooleanTypeArgument ( 'no-cache' , false ) , Argument :: createBooleanTypeArgument ( 'return_url' , true ) ] ; if ( true === $ this -> countable ) { $ defaultArgs [ ] = Argument :: createIntTypeArgument ( 'offset' , 0 ) ; $ defaultArgs [ ] = Argument :: createIntTypeArgument ( 'page' ) ; $ defaultArgs [ ] = Argument :: createIntTypeArgument ( 'limit' , PHP_INT_MAX ) ; } if ( $ this instanceof SearchLoopInterface ) { $ defaultArgs [ ] = Argument :: createAnyTypeArgument ( 'search_term' ) ; $ defaultArgs [ ] = new Argument ( 'search_in' , new TypeCollection ( new EnumListType ( $ this -> getSearchIn ( ) ) ) ) ; $ defaultArgs [ ] = new Argument ( 'search_mode' , new TypeCollection ( new EnumType ( [ SearchLoopInterface :: MODE_ANY_WORD , SearchLoopInterface :: MODE_SENTENCE , SearchLoopInterface :: MODE_STRICT_SENTENCE , ] ) ) , SearchLoopInterface :: MODE_STRICT_SENTENCE ) ; } return $ defaultArgs ; }
Define common loop arguments

@return Argument[]
Define common loop arguments