public function asConfig()
	{
		// Remove properties that shouldn't be turned into config arrays
		$properties = get_object_vars($this);
		unset($properties['attributeFilters']);
		unset($properties['bundleGenerator']);
		unset($properties['javascript']);
		unset($properties['rendering']);
		unset($properties['rulesGenerator']);
		unset($properties['registeredVars']);
		unset($properties['templateChecker']);
		unset($properties['templateNormalizer']);
		unset($properties['stylesheet']);

		// Create the config array
		$config    = ConfigHelper::toArray($properties);
		$bitfields = RulesHelper::getBitfields($this->tags, $this->rootRules);

		// Save the root context
		$config['rootContext'] = $bitfields['root'];
		$config['rootContext']['flags'] = $config['rootRules']['flags'];

		// Save the registered vars (including the empty ones)
		$config['registeredVars'] = ConfigHelper::toArray($this->registeredVars, true);

		// Make sure those keys exist even if they're empty
		$config += [
			'plugins' => [],
			'tags'    => []
		];

		// Remove unused tags
		$config['tags'] = array_intersect_key($config['tags'], $bitfields['tags']);

		// Add the bitfield information to each tag
		foreach ($bitfields['tags'] as $tagName => $tagBitfields)
		{
			$config['tags'][$tagName] += $tagBitfields;
		}

		// Remove unused entries
		unset($config['rootRules']);

		return $config;
	}
public function asConfig()
	{
		// Remove properties that shouldn't be turned into config arrays
		$properties = get_object_vars($this);
		unset($properties['attributeFilters']);
		unset($properties['bundleGenerator']);
		unset($properties['javascript']);
		unset($properties['rendering']);
		unset($properties['rulesGenerator']);
		unset($properties['registeredVars']);
		unset($properties['templateChecker']);
		unset($properties['templateNormalizer']);
		unset($properties['stylesheet']);

		// Create the config array
		$config    = ConfigHelper::toArray($properties);
		$bitfields = RulesHelper::getBitfields($this->tags, $this->rootRules);

		// Save the root context
		$config['rootContext'] = $bitfields['root'];
		$config['rootContext']['flags'] = $config['rootRules']['flags'];

		// Save the registered vars (including the empty ones)
		$config['registeredVars'] = ConfigHelper::toArray($this->registeredVars, true);

		// Make sure those keys exist even if they're empty
		$config += [
			'plugins' => [],
			'tags'    => []
		];

		// Remove unused tags
		$config['tags'] = array_intersect_key($config['tags'], $bitfields['tags']);

		// Add the bitfield information to each tag
		foreach ($bitfields['tags'] as $tagName => $tagBitfields)
		{
			$config['tags'][$tagName] += $tagBitfields;
		}

		// Remove unused entries
		unset($config['rootRules']);

		return $config;
	}
public function asConfig ( ) { // Remove properties that shouldn't be turned into config arrays $ properties = get_object_vars ( $ this ) ; unset ( $ properties [ 'attributeFilters' ] ) ; unset ( $ properties [ 'bundleGenerator' ] ) ; unset ( $ properties [ 'javascript' ] ) ; unset ( $ properties [ 'rendering' ] ) ; unset ( $ properties [ 'rulesGenerator' ] ) ; unset ( $ properties [ 'registeredVars' ] ) ; unset ( $ properties [ 'templateChecker' ] ) ; unset ( $ properties [ 'templateNormalizer' ] ) ; unset ( $ properties [ 'stylesheet' ] ) ; // Create the config array $ config = ConfigHelper :: toArray ( $ properties ) ; $ bitfields = RulesHelper :: getBitfields ( $ this -> tags , $ this -> rootRules ) ; // Save the root context $ config [ 'rootContext' ] = $ bitfields [ 'root' ] ; $ config [ 'rootContext' ] [ 'flags' ] = $ config [ 'rootRules' ] [ 'flags' ] ; // Save the registered vars (including the empty ones) $ config [ 'registeredVars' ] = ConfigHelper :: toArray ( $ this -> registeredVars , true ) ; // Make sure those keys exist even if they're empty $ config += [ 'plugins' => [ ] , 'tags' => [ ] ] ; // Remove unused tags $ config [ 'tags' ] = array_intersect_key ( $ config [ 'tags' ] , $ bitfields [ 'tags' ] ) ; // Add the bitfield information to each tag foreach ( $ bitfields [ 'tags' ] as $ tagName => $ tagBitfields ) { $ config [ 'tags' ] [ $ tagName ] += $ tagBitfields ; } // Remove unused entries unset ( $ config [ 'rootRules' ] ) ; return $ config ; }
Generate and return the complete config array

@return array
Generate and return the complete config array