Cascade\Config\Loader\ClassLoader\Resolver\ExtraOptionsResolver::configureOptions PHP Method

configureOptions() protected method

Configure options for the provided OptionResolver to match extra params requirements
protected configureOptions ( Symfony\Component\OptionsResolver\OptionsResolver $resolver, ClassLoader $classLoader = null )
$resolver Symfony\Component\OptionsResolver\OptionsResolver
$classLoader Cascade\Config\Loader\ClassLoader Optional class loader if you want to use custom handlers for some of the extra options
    protected function configureOptions(OptionsResolver $resolver, ClassLoader $classLoader = null)
    {
        foreach ($this->params as $name) {
            if ($this->reflected->hasMethod($name)) {
                // There is a method to handle this option
                $resolver->setDefined($name);
                continue;
            }
            if ($this->reflected->hasProperty($name) && $this->reflected->getProperty($name)->isPublic()) {
                // There is a public member we can set to handle this option
                $resolver->setDefined($name);
                continue;
            }
            // Option that cannot be handled by a regular setter but
            // requires specific pre-processing and/or handling to be set
            // e.g. like LogglyHandler::addTag for instance
            if (!is_null($classLoader) && $classLoader->canHandle($name)) {
                $resolver->setDefined($name);
            }
        }
    }