protected UnroutedUrlAssembler::addOptionDefaults(array &$options)
Merges in default defaults
Parameters
array $options: The options to merge in the defaults.
File
- core/lib/Drupal/Core/Utility/UnroutedUrlAssembler.php, line 165
Class
- UnroutedUrlAssembler
- Provides a way to build external or non Drupal local domain URLs.
Namespace
Drupal\Core\Utility
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | protected function addOptionDefaults( array & $options ) { $request = $this ->requestStack->getCurrentRequest(); $current_base_path = $request ->getBasePath() . '/' ; $current_script_path = '' ; $base_path_with_script = $request ->getBaseUrl(); // If the current request was made with the script name (eg, index.php) in // it, then extract it, making sure the leading / is gone, and a trailing / // is added, to allow simple string concatenation with other parts. if (! empty ( $base_path_with_script )) { $script_name = $request ->getScriptName(); if ( strpos ( $base_path_with_script , $script_name ) !== FALSE) { $current_script_path = ltrim( substr ( $script_name , strlen ( $current_base_path )), '/' ) . '/' ; } } // Merge in defaults. $options += [ 'fragment' => '' , 'query' => [], 'absolute' => FALSE, 'prefix' => '' , 'script' => $current_script_path , ]; if (isset( $options [ 'fragment' ]) && $options [ 'fragment' ] !== '' ) { $options [ 'fragment' ] = '#' . $options [ 'fragment' ]; } } |
Please login to continue.