‪TYPO3CMS  10.4
UriBuilder.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
34 
39 {
43  protected ‪$configurationManager;
44 
48  protected ‪$extensionService;
49 
55  protected ‪$contentObject;
56 
60  protected ‪$request;
61 
65  protected ‪$arguments = [];
66 
72  protected ‪$lastArguments = [];
73 
77  protected ‪$section = '';
78 
82  protected ‪$createAbsoluteUri = false;
83 
87  protected ‪$absoluteUriScheme;
88 
92  protected ‪$addQueryString = false;
93 
97  protected ‪$addQueryStringMethod = '';
98 
103 
107  protected ‪$linkAccessRestrictedPages = false;
108 
112  protected ‪$targetPageUid;
113 
117  protected ‪$targetPageType = 0;
118 
122  protected ‪$language;
123 
127  protected ‪$noCache = false;
128 
132  protected ‪$format = '';
133 
138 
142  protected ‪$environmentService;
143 
149  {
150  $this->configurationManager = ‪$configurationManager;
151  }
152 
158  {
159  $this->extensionService = ‪$extensionService;
160  }
161 
167  {
168  $this->environmentService = ‪$environmentService;
169  }
170 
175  public function ‪initializeObject(): void
176  {
177  $this->contentObject = $this->configurationManager->getContentObject()
178  ?? GeneralUtility::makeInstance(ContentObjectRenderer::class);
179  }
180 
189  {
190  $this->request = ‪$request;
191  return $this;
192  }
193 
198  public function ‪getRequest(): ?‪Request
199  {
200  return ‪$this->request;
201  }
202 
211  public function ‪setArguments(array ‪$arguments): ‪UriBuilder
212  {
213  $this->arguments = ‪$arguments;
214  return $this;
215  }
216 
221  public function ‪getArguments(): array
222  {
223  return ‪$this->arguments;
224  }
225 
232  public function ‪setSection(string ‪$section): ‪UriBuilder
233  {
234  $this->section = ‪$section;
235  return $this;
236  }
237 
242  public function ‪getSection(): string
243  {
244  return ‪$this->section;
245  }
246 
253  public function ‪setFormat(string ‪$format): ‪UriBuilder
254  {
255  $this->format = ‪$format;
256  return $this;
257  }
258 
263  public function ‪getFormat(): string
264  {
265  return ‪$this->format;
266  }
267 
275  {
276  $this->createAbsoluteUri = ‪$createAbsoluteUri;
277  return $this;
278  }
279 
284  public function ‪getCreateAbsoluteUri(): bool
285  {
287  }
288 
293  public function ‪getAbsoluteUriScheme(): ?string
294  {
296  }
297 
305  {
306  $this->absoluteUriScheme = ‪$absoluteUriScheme;
307  return $this;
308  }
309 
315  public function ‪setLanguage(?string ‪$language): UriBuilder
316  {
317  $this->language = ‪$language;
318  return $this;
319  }
320 
321  public function ‪getLanguage(): ?string
322  {
324  }
325 
334  {
335  $this->addQueryString = ‪$addQueryString;
336  return $this;
337  }
338 
343  public function ‪getAddQueryString(): bool
344  {
346  }
347 
362  public function ‪setAddQueryStringMethod(string ‪$addQueryStringMethod): UriBuilder
363  {
364  if (‪$addQueryStringMethod === 'POST') {
365  trigger_error('Assigning addQueryStringMethod = POST is not supported anymore since TYPO3 v10.0.', E_USER_WARNING);
367  } elseif (‪$addQueryStringMethod === 'GET,POST' || ‪$addQueryStringMethod === 'POST,GET') {
368  trigger_error('Assigning addQueryStringMethod = GET,POST or POST,GET is not supported anymore since TYPO3 v10.0 - falling back to GET.', E_USER_WARNING);
369  ‪$addQueryStringMethod = 'GET';
370  }
371  $this->addQueryStringMethod = ‪$addQueryStringMethod;
372  return $this;
373  }
374 
379  public function ‪getAddQueryStringMethod(): string
380  {
382  }
383 
394  {
395  $this->argumentsToBeExcludedFromQueryString = ‪$argumentsToBeExcludedFromQueryString;
396  return $this;
397  }
398 
403  public function ‪getArgumentsToBeExcludedFromQueryString(): array
404  {
406  }
407 
414  public function ‪setArgumentPrefix(string ‪$argumentPrefix): ‪UriBuilder
415  {
416  $this->argumentPrefix = ‪$argumentPrefix;
417  return $this;
418  }
419 
424  public function ‪getArgumentPrefix(): ?string
425  {
427  }
428 
436  {
437  $this->linkAccessRestrictedPages = ‪$linkAccessRestrictedPages;
438  return $this;
439  }
440 
445  public function ‪getLinkAccessRestrictedPages(): bool
446  {
448  }
449 
457  {
458  $this->targetPageUid = ‪$targetPageUid;
459  return $this;
460  }
461 
468  public function ‪getTargetPageUid(): ?int
469  {
471  }
472 
480  {
481  $this->targetPageType = ‪$targetPageType;
482  return $this;
483  }
484 
489  public function ‪getTargetPageType(): int
490  {
492  }
493 
500  public function ‪setNoCache(bool ‪$noCache): ‪UriBuilder
501  {
502  $this->noCache = ‪$noCache;
503  return $this;
504  }
505 
510  public function ‪getNoCache(): bool
511  {
512  return ‪$this->noCache;
513  }
514 
521  public function ‪setUseCacheHash(): ‪UriBuilder
522  {
523  trigger_error('Calling UriBuilder->setUseCacheHash() will be removed in TYPO3 v11.0. TYPO3 Core routing is taking care of handling this argument. Simply remove the line to avoid the notice.', E_USER_DEPRECATED);
524  return $this;
525  }
526 
531  public function ‪getUseCacheHash(): bool
532  {
533  trigger_error('Calling UriBuilder->getUseCacheHash() will be removed in TYPO3 v11.0. TYPO3 Core routing is taking care of handling this argument. Simply remove the line to avoid the notice.', E_USER_DEPRECATED);
534  return true;
535  }
536 
544  public function ‪getLastArguments(): array
545  {
547  }
548 
554  public function ‪reset(): UriBuilder
555  {
556  $this->arguments = [];
557  $this->section = '';
558  $this->format = '';
559  $this->language = null;
560  $this->createAbsoluteUri = false;
561  $this->addQueryString = false;
562  $this->addQueryStringMethod = '';
563  $this->argumentsToBeExcludedFromQueryString = [];
564  $this->linkAccessRestrictedPages = false;
565  $this->targetPageUid = null;
566  $this->targetPageType = 0;
567  $this->noCache = false;
568  $this->argumentPrefix = null;
569  $this->absoluteUriScheme = null;
570  /*
571  * $this->request MUST NOT be reset here because the request is actually a hard dependency and not part
572  * of the internal state of this object.
573  * todo: consider making the request a constructor dependency or get rid of it's usage
574  */
575  return $this;
576  }
577 
590  public function ‪uriFor(
591  ?string $actionName = null,
592  ?array $controllerArguments = null,
593  ?string $controllerName = null,
594  ?string $extensionName = null,
595  ?string $pluginName = null
596  ): string {
597  $controllerArguments = $controllerArguments ?? [];
598 
599  if ($actionName !== null) {
600  $controllerArguments['action'] = $actionName;
601  }
602  if ($controllerName !== null) {
603  $controllerArguments['controller'] = $controllerName;
604  } else {
605  $controllerArguments['controller'] = $this->request->getControllerName();
606  }
607  if ($extensionName === null) {
608  $extensionName = $this->request->getControllerExtensionName();
609  }
610  if ($pluginName === null && $this->environmentService->isEnvironmentInFrontendMode()) {
611  $pluginName = $this->extensionService->getPluginNameByAction($extensionName, $controllerArguments['controller'], $controllerArguments['action'] ?? null);
612  }
613  if ($pluginName === null) {
614  $pluginName = $this->request->getPluginName();
615  }
616  if ($this->environmentService->isEnvironmentInFrontendMode() && $this->configurationManager->isFeatureEnabled('skipDefaultArguments')) {
617  $controllerArguments = $this->‪removeDefaultControllerAndAction($controllerArguments, $extensionName, $pluginName);
618  }
619  if ($this->targetPageUid === null && $this->environmentService->isEnvironmentInFrontendMode()) {
620  $this->targetPageUid = $this->extensionService->getTargetPidByPlugin($extensionName, $pluginName);
621  }
622  if ($this->format !== '') {
623  $controllerArguments['format'] = ‪$this->format;
624  }
625  if ($this->argumentPrefix !== null) {
626  $prefixedControllerArguments = [$this->argumentPrefix => $controllerArguments];
627  } else {
628  $pluginNamespace = $this->extensionService->getPluginNamespace($extensionName, $pluginName);
629  $prefixedControllerArguments = [$pluginNamespace => $controllerArguments];
630  }
631  ‪ArrayUtility::mergeRecursiveWithOverrule($this->arguments, $prefixedControllerArguments);
632  return $this->‪build();
633  }
634 
646  protected function ‪removeDefaultControllerAndAction(array $controllerArguments, string $extensionName, string $pluginName): array
647  {
648  $defaultControllerName = $this->extensionService->getDefaultControllerNameByPlugin($extensionName, $pluginName);
649  if (isset($controllerArguments['action'])) {
650  $defaultActionName = $this->extensionService->getDefaultActionNameByPluginAndController($extensionName, $pluginName, $controllerArguments['controller']);
651  if ($controllerArguments['action'] === $defaultActionName) {
652  unset($controllerArguments['action']);
653  }
654  }
655  if ($controllerArguments['controller'] === $defaultControllerName) {
656  unset($controllerArguments['controller']);
657  }
658  return $controllerArguments;
659  }
660 
669  public function ‪build(): string
670  {
671  if ($this->environmentService->isEnvironmentInBackendMode()) {
672  return $this->‪buildBackendUri();
673  }
674  return $this->‪buildFrontendUri();
675  }
676 
687  public function ‪buildBackendUri(): string
688  {
689  ‪$arguments = [];
690  if ($this->addQueryString === true) {
691  if ($this->addQueryStringMethod === '' || $this->addQueryStringMethod === '0' || $this->addQueryStringMethod === 'GET') {
692  ‪$arguments = GeneralUtility::_GET();
693  } else {
694  // Explode GET vars recursively
695  parse_str(GeneralUtility::getIndpEnv('QUERY_STRING'), ‪$arguments);
696  }
697  foreach ($this->argumentsToBeExcludedFromQueryString as $argumentToBeExcluded) {
698  $argumentArrayToBeExcluded = [];
699  parse_str($argumentToBeExcluded, $argumentArrayToBeExcluded);
701  }
702  } else {
703  $id = GeneralUtility::_GP('id');
704  $route = GeneralUtility::_GP('route');
705  if ($id !== null) {
706  ‪$arguments['id'] = $id;
707  }
708  if ($route !== null) {
709  ‪$arguments['route'] = $route;
710  }
711  }
714  $this->lastArguments = ‪$arguments;
715  $routeName = ‪$arguments['route'] ?? null;
716  unset(‪$arguments['route'], ‪$arguments['token']);
717  $backendUriBuilder = GeneralUtility::makeInstance(\‪TYPO3\CMS\Backend\Routing\UriBuilder::class);
718  try {
719  if ($this->createAbsoluteUri) {
720  $uri = (string)$backendUriBuilder->buildUriFromRoutePath($routeName, ‪$arguments, \‪TYPO3\CMS\Backend\Routing\UriBuilder::ABSOLUTE_URL);
721  } else {
722  $uri = (string)$backendUriBuilder->buildUriFromRoutePath($routeName, ‪$arguments, \‪TYPO3\CMS\Backend\Routing\UriBuilder::ABSOLUTE_PATH);
723  }
724  } catch (ResourceNotFoundException $e) {
725  try {
726  if ($this->createAbsoluteUri) {
727  $uri = (string)$backendUriBuilder->buildUriFromRoute($routeName, ‪$arguments, \‪TYPO3\CMS\Backend\Routing\UriBuilder::ABSOLUTE_URL);
728  } else {
729  $uri = (string)$backendUriBuilder->buildUriFromRoute($routeName, ‪$arguments, \‪TYPO3\CMS\Backend\Routing\UriBuilder::ABSOLUTE_PATH);
730  }
731  } catch (RouteNotFoundException $e) {
732  $uri = '';
733  }
734  }
735  if ($this->section !== '') {
736  $uri .= '#' . ‪$this->section;
737  }
738  return $uri;
739  }
740 
748  public function ‪buildFrontendUri(): string
749  {
750  $typolinkConfiguration = $this->‪buildTypolinkConfiguration();
751  if ($this->createAbsoluteUri === true) {
752  $typolinkConfiguration['forceAbsoluteUrl'] = true;
753  if ($this->absoluteUriScheme !== null) {
754  $typolinkConfiguration['forceAbsoluteUrl.']['scheme'] = ‪$this->absoluteUriScheme;
755  }
756  }
757  // Other than stated in the doc block, typoLink_URL does not always return a string
758  // Thus, we explicitly cast to string here.
759  $uri = (string)$this->contentObject->typoLink_URL($typolinkConfiguration);
760  return $uri;
761  }
762 
769  protected function ‪buildTypolinkConfiguration(): array
770  {
771  $typolinkConfiguration = [];
772  $typolinkConfiguration['parameter'] = $this->targetPageUid ?? ‪$GLOBALS['TSFE']->id;
773  if ($this->targetPageType !== 0) {
774  $typolinkConfiguration['parameter'] .= ',' . ‪$this->targetPageType;
775  } elseif ($this->format !== '') {
776  ‪$targetPageType = $this->extensionService->getTargetPageTypeByFormat($this->request->getControllerExtensionName(), $this->format);
777  $typolinkConfiguration['parameter'] .= ',' . ‪$targetPageType;
778  }
779  if (!empty($this->arguments)) {
780  ‪$arguments = $this->‪convertDomainObjectsToIdentityArrays($this->arguments);
781  $this->lastArguments = ‪$arguments;
782  $typolinkConfiguration['additionalParams'] = ‪HttpUtility::buildQueryString(‪$arguments, '&');
783  }
784  if ($this->addQueryString === true) {
785  $typolinkConfiguration['addQueryString'] = 1;
786  if (!empty($this->argumentsToBeExcludedFromQueryString)) {
787  $typolinkConfiguration['addQueryString.'] = [
788  'exclude' => implode(',', $this->argumentsToBeExcludedFromQueryString)
789  ];
790  }
791  if ($this->addQueryStringMethod !== '') {
792  $typolinkConfiguration['addQueryString.']['method'] = ‪$this->addQueryStringMethod;
793  }
794  }
795  if ($this->language !== null) {
796  $typolinkConfiguration['language'] = ‪$this->language;
797  }
798 
799  if ($this->noCache === true) {
800  $typolinkConfiguration['no_cache'] = 1;
801  }
802  if ($this->section !== '') {
803  $typolinkConfiguration['section'] = ‪$this->section;
804  }
805  if ($this->linkAccessRestrictedPages === true) {
806  $typolinkConfiguration['linkAccessRestrictedPages'] = 1;
807  }
808  return $typolinkConfiguration;
809  }
810 
819  protected function ‪convertDomainObjectsToIdentityArrays(array ‪$arguments): array
820  {
821  foreach (‪$arguments as $argumentKey => $argumentValue) {
822  // if we have a LazyLoadingProxy here, make sure to get the real instance for further processing
823  if ($argumentValue instanceof LazyLoadingProxy) {
824  $argumentValue = $argumentValue->_loadRealInstance();
825  // also update the value in the arguments array, because the lazyLoaded object could be
826  // hidden and thus the $argumentValue would be NULL.
827  ‪$arguments[$argumentKey] = $argumentValue;
828  }
829  if ($argumentValue instanceof \Iterator) {
830  $argumentValue = $this->‪convertIteratorToArray($argumentValue);
831  }
832  if ($argumentValue instanceof ‪AbstractDomainObject) {
833  if ($argumentValue->getUid() !== null) {
834  ‪$arguments[$argumentKey] = $argumentValue->getUid();
835  } elseif ($argumentValue instanceof AbstractValueObject) {
836  ‪$arguments[$argumentKey] = $this->‪convertTransientObjectToArray($argumentValue);
837  } else {
838  throw new InvalidArgumentValueException('Could not serialize Domain Object ' . get_class($argumentValue) . '. It is neither an Entity with identity properties set, nor a Value Object.', 1260881688);
839  }
840  } elseif (is_array($argumentValue)) {
841  ‪$arguments[$argumentKey] = $this->‪convertDomainObjectsToIdentityArrays($argumentValue);
842  }
843  }
844  return ‪$arguments;
845  }
846 
851  protected function ‪convertIteratorToArray(\Iterator $iterator): array
852  {
853  if (method_exists($iterator, 'toArray')) {
854  $array = $iterator->toArray();
855  } else {
856  $array = iterator_to_array($iterator);
857  }
858  return $array;
859  }
860 
869  public function ‪convertTransientObjectToArray(AbstractDomainObject $object): array
870  {
871  $result = [];
872  foreach ($object->_getProperties() as $propertyName => $propertyValue) {
873  if ($propertyValue instanceof \Iterator) {
874  $propertyValue = $this->‪convertIteratorToArray($propertyValue);
875  }
876  if ($propertyValue instanceof AbstractDomainObject) {
877  if ($propertyValue->getUid() !== null) {
878  $result[$propertyName] = $propertyValue->getUid();
879  } else {
880  $result[$propertyName] = $this->‪convertTransientObjectToArray($propertyValue);
881  }
882  } elseif (is_array($propertyValue)) {
883  $result[$propertyName] = $this->‪convertDomainObjectsToIdentityArrays($propertyValue);
884  } else {
885  $result[$propertyName] = $propertyValue;
886  }
887  }
888  return $result;
889  }
890 }
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setArguments
‪static setArguments(array $arguments)
Definition: UriBuilder.php:191
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setTargetPageType
‪static setTargetPageType(int $targetPageType)
Definition: UriBuilder.php:459
‪TYPO3\CMS\Extbase\Mvc\Web\Routing
Definition: UriBuilder.php:18
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$targetPageUid
‪int null $targetPageUid
Definition: UriBuilder.php:98
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setAddQueryStringMethod
‪static setAddQueryStringMethod(string $addQueryStringMethod)
Definition: UriBuilder.php:342
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$environmentService
‪TYPO3 CMS Extbase Service EnvironmentService $environmentService
Definition: UriBuilder.php:122
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getArgumentsToBeExcludedFromQueryString
‪array getArgumentsToBeExcludedFromQueryString()
Definition: UriBuilder.php:383
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getUseCacheHash
‪bool getUseCacheHash()
Definition: UriBuilder.php:511
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getFormat
‪string getFormat()
Definition: UriBuilder.php:243
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$language
‪string $language
Definition: UriBuilder.php:106
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getLastArguments
‪array getLastArguments()
Definition: UriBuilder.php:524
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder
Definition: UriBuilder.php:39
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$section
‪string $section
Definition: UriBuilder.php:70
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$extensionService
‪TYPO3 CMS Extbase Service ExtensionService $extensionService
Definition: UriBuilder.php:46
‪TYPO3
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getAddQueryString
‪bool getAddQueryString()
Definition: UriBuilder.php:323
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\convertIteratorToArray
‪array convertIteratorToArray(\Iterator $iterator)
Definition: UriBuilder.php:831
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$absoluteUriScheme
‪string $absoluteUriScheme
Definition: UriBuilder.php:78
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$argumentPrefix
‪string null $argumentPrefix
Definition: UriBuilder.php:118
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getArguments
‪array getArguments()
Definition: UriBuilder.php:201
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setLinkAccessRestrictedPages
‪static setLinkAccessRestrictedPages(bool $linkAccessRestrictedPages)
Definition: UriBuilder.php:415
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$request
‪Request null $request
Definition: UriBuilder.php:56
‪TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface
Definition: ConfigurationManagerInterface.php:28
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\convertDomainObjectsToIdentityArrays
‪array convertDomainObjectsToIdentityArrays(array $arguments)
Definition: UriBuilder.php:799
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\reset
‪static reset()
Definition: UriBuilder.php:534
‪TYPO3\CMS\Extbase\Mvc\Exception\InvalidArgumentValueException
Definition: InvalidArgumentValueException.php:26
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\buildBackendUri
‪string buildBackendUri()
Definition: UriBuilder.php:667
‪TYPO3\CMS\Core\Utility\ArrayUtility\mergeRecursiveWithOverrule
‪static mergeRecursiveWithOverrule(array &$original, array $overrule, $addKeys=true, $includeEmptyValues=true, $enableUnsetFeature=true)
Definition: ArrayUtility.php:654
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getTargetPageType
‪int getTargetPageType()
Definition: UriBuilder.php:469
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$targetPageType
‪int $targetPageType
Definition: UriBuilder.php:102
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\removeDefaultControllerAndAction
‪array removeDefaultControllerAndAction(array $controllerArguments, string $extensionName, string $pluginName)
Definition: UriBuilder.php:626
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\initializeObject
‪initializeObject()
Definition: UriBuilder.php:155
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$contentObject
‪TYPO3 CMS Frontend ContentObject ContentObjectRenderer $contentObject
Definition: UriBuilder.php:52
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getSection
‪string getSection()
Definition: UriBuilder.php:222
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$arguments
‪array $arguments
Definition: UriBuilder.php:60
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getLanguage
‪getLanguage()
Definition: UriBuilder.php:301
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setArgumentPrefix
‪static setArgumentPrefix(string $argumentPrefix)
Definition: UriBuilder.php:394
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$lastArguments
‪array $lastArguments
Definition: UriBuilder.php:66
‪TYPO3\CMS\Backend\Routing\Exception\RouteNotFoundException
Definition: RouteNotFoundException.php:22
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$configurationManager
‪TYPO3 CMS Extbase Configuration ConfigurationManagerInterface $configurationManager
Definition: UriBuilder.php:42
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\convertTransientObjectToArray
‪array convertTransientObjectToArray(AbstractDomainObject $object)
Definition: UriBuilder.php:849
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$linkAccessRestrictedPages
‪bool $linkAccessRestrictedPages
Definition: UriBuilder.php:94
‪TYPO3\CMS\Extbase\DomainObject\AbstractValueObject
Definition: AbstractValueObject.php:24
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getRequest
‪Request null getRequest()
Definition: UriBuilder.php:178
‪TYPO3\CMS\Core\Utility\ArrayUtility\arrayDiffKeyRecursive
‪static array arrayDiffKeyRecursive(array $array1, array $array2)
Definition: ArrayUtility.php:768
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\injectConfigurationManager
‪injectConfigurationManager(ConfigurationManagerInterface $configurationManager)
Definition: UriBuilder.php:128
‪TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject
Definition: AbstractDomainObject.php:31
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setRequest
‪static setRequest(Request $request)
Definition: UriBuilder.php:168
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setAbsoluteUriScheme
‪static setAbsoluteUriScheme(string $absoluteUriScheme)
Definition: UriBuilder.php:284
‪TYPO3\CMS\Core\Utility\HttpUtility\buildQueryString
‪static string buildQueryString(array $parameters, string $prependCharacter='', bool $skipEmptyParameters=false)
Definition: HttpUtility.php:163
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getTargetPageUid
‪int null getTargetPageUid()
Definition: UriBuilder.php:448
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getCreateAbsoluteUri
‪bool getCreateAbsoluteUri()
Definition: UriBuilder.php:264
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$addQueryStringMethod
‪string $addQueryStringMethod
Definition: UriBuilder.php:86
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setCreateAbsoluteUri
‪static setCreateAbsoluteUri(bool $createAbsoluteUri)
Definition: UriBuilder.php:254
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\buildTypolinkConfiguration
‪array buildTypolinkConfiguration()
Definition: UriBuilder.php:749
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setUseCacheHash
‪static setUseCacheHash()
Definition: UriBuilder.php:501
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\uriFor
‪string uriFor(?string $actionName=null, ?array $controllerArguments=null, ?string $controllerName=null, ?string $extensionName=null, ?string $pluginName=null)
Definition: UriBuilder.php:570
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$format
‪string $format
Definition: UriBuilder.php:114
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setNoCache
‪static setNoCache(bool $noCache)
Definition: UriBuilder.php:480
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getArgumentPrefix
‪string null getArgumentPrefix()
Definition: UriBuilder.php:404
‪TYPO3\CMS\Extbase\Service\EnvironmentService
Definition: EnvironmentService.php:27
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$noCache
‪bool $noCache
Definition: UriBuilder.php:110
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$addQueryString
‪bool $addQueryString
Definition: UriBuilder.php:82
‪TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject\_getProperties
‪array _getProperties()
Definition: AbstractDomainObject.php:133
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getNoCache
‪bool getNoCache()
Definition: UriBuilder.php:490
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\injectExtensionService
‪injectExtensionService(ExtensionService $extensionService)
Definition: UriBuilder.php:137
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\injectEnvironmentService
‪injectEnvironmentService(EnvironmentService $environmentService)
Definition: UriBuilder.php:146
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setAddQueryString
‪static setAddQueryString(bool $addQueryString)
Definition: UriBuilder.php:313
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setTargetPageUid
‪static setTargetPageUid(int $targetPageUid)
Definition: UriBuilder.php:436
‪TYPO3\CMS\Core\Utility\ArrayUtility
Definition: ArrayUtility.php:24
‪TYPO3\CMS\Extbase\Persistence\Generic\LazyLoadingProxy
Definition: LazyLoadingProxy.php:29
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setSection
‪static setSection(string $section)
Definition: UriBuilder.php:212
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:5
‪TYPO3\CMS\Extbase\Service\ExtensionService
Definition: ExtensionService.php:33
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$argumentsToBeExcludedFromQueryString
‪array $argumentsToBeExcludedFromQueryString
Definition: UriBuilder.php:90
‪TYPO3\CMS\Backend\Routing\Exception\ResourceNotFoundException
Definition: ResourceNotFoundException.php:24
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getAbsoluteUriScheme
‪string null getAbsoluteUriScheme()
Definition: UriBuilder.php:273
‪TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer
Definition: ContentObjectRenderer.php:97
‪TYPO3\CMS\Core\Utility\HttpUtility
Definition: HttpUtility.php:24
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getLinkAccessRestrictedPages
‪bool getLinkAccessRestrictedPages()
Definition: UriBuilder.php:425
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setFormat
‪static setFormat(string $format)
Definition: UriBuilder.php:233
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:46
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getAddQueryStringMethod
‪string getAddQueryStringMethod()
Definition: UriBuilder.php:359
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setLanguage
‪UriBuilder setLanguage(?string $language)
Definition: UriBuilder.php:295
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\buildFrontendUri
‪string buildFrontendUri()
Definition: UriBuilder.php:728
‪TYPO3\CMS\Extbase\Mvc\Request
Definition: Request.php:31
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\build
‪string build()
Definition: UriBuilder.php:649
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$createAbsoluteUri
‪bool $createAbsoluteUri
Definition: UriBuilder.php:74
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setArgumentsToBeExcludedFromQueryString
‪static setArgumentsToBeExcludedFromQueryString(array $argumentsToBeExcludedFromQueryString)
Definition: UriBuilder.php:373