gossi\codegen\config\CodeGeneratorConfig::configureOptions PHP Method

configureOptions() protected method

protected configureOptions ( Symfony\Component\OptionsResolver\OptionsResolver $resolver )
$resolver Symfony\Component\OptionsResolver\OptionsResolver
    protected function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(['generateDocblock' => true, 'generateEmptyDocblock' => function (Options $options) {
            return $options['generateDocblock'];
        }, 'generateScalarTypeHints' => false, 'generateReturnTypeHints' => false, 'enableSorting' => true, 'useStatementSorting' => CodeGenerator::SORT_USESTATEMENTS_DEFAULT, 'constantSorting' => CodeGenerator::SORT_CONSTANTS_DEFAULT, 'propertySorting' => CodeGenerator::SORT_PROPERTIES_DEFAULT, 'methodSorting' => CodeGenerator::SORT_METHODS_DEFAULT]);
        $resolver->setAllowedTypes('generateDocblock', 'bool');
        $resolver->setAllowedTypes('generateEmptyDocblock', 'bool');
        $resolver->setAllowedTypes('generateScalarTypeHints', 'bool');
        $resolver->setAllowedTypes('generateReturnTypeHints', 'bool');
        $resolver->setAllowedTypes('enableSorting', 'bool');
        $resolver->setAllowedTypes('useStatementSorting', ['bool', 'string', '\\Closure', 'phootwork\\lang\\Comparator']);
        $resolver->setAllowedTypes('constantSorting', ['bool', 'string', '\\Closure', 'phootwork\\lang\\Comparator']);
        $resolver->setAllowedTypes('propertySorting', ['bool', 'string', '\\Closure', 'phootwork\\lang\\Comparator']);
        $resolver->setAllowedTypes('methodSorting', ['bool', 'string', '\\Closure', 'phootwork\\lang\\Comparator']);
    }

Usage Example

 protected function configureOptions(OptionsResolver $resolver)
 {
     parent::configureOptions($resolver);
     $resolver->setDefaults(['headerComment' => null, 'headerDocblock' => null, 'blankLineAtEnd' => true, 'declareStrictTypes' => false, 'generateScalarTypeHints' => function (Options $options) {
         return $options['declareStrictTypes'];
     }, 'generateReturnTypeHints' => function (Options $options) {
         return $options['declareStrictTypes'];
     }]);
     $resolver->setAllowedTypes('headerComment', ['null', 'string', 'gossi\\docblock\\Docblock']);
     $resolver->setAllowedTypes('headerDocblock', ['null', 'string', 'gossi\\docblock\\Docblock']);
     $resolver->setAllowedTypes('blankLineAtEnd', 'bool');
     $resolver->setAllowedTypes('declareStrictTypes', 'bool');
     $resolver->setNormalizer('headerComment', function (Options $options, $value) {
         return $this->toDocblock($value);
     });
     $resolver->setNormalizer('headerDocblock', function (Options $options, $value) {
         return $this->toDocblock($value);
     });
 }