19 declare(strict_types=1);
    32         private string $ILIAS_HTTP_PATH,
    33         private bool $short_url_possible = 
false    38     public const LONG = 
'/goto.php/';
    43         array $additional_parameters = []
    46             . ($this->short_url_possible ? self::SHORT : self::LONG)
    47             . $this->
buildTarget($namespace, $reference_id, $additional_parameters);
    55         array $additional_parameters = []
    58             . ($reference_id !== null ? 
'/' . $reference_id->toInt() : 
'')
    60             . implode(
'/', $additional_parameters);
    65         $base_path = $this->ILIAS_HTTP_PATH;
    67         $offset = match (
true) {
    68             str_contains($base_path, self::SHORT) => strpos($base_path, self::SHORT),
    69             str_contains($base_path, self::LONG) => strpos($base_path, rtrim(self::LONG, 
'/')),
    70             str_contains($base_path, rtrim(self::LONG, 
'/')) => strpos($base_path, rtrim(self::LONG, 
'/')),
    71             str_contains($base_path, 
'Customizing') => strpos($base_path, 
'Customizing'),
    72             str_contains($base_path, 
'src') => strpos($base_path, 
'src'),
    73             str_contains($base_path, 
'webservices') => strpos($base_path, 
'webservices'),
    77         if ($offset === 
false) {
    78             return new URI(trim($base_path, 
'/'));
    87             trim($uri_string, 
'/')
 __construct(private string $ILIAS_HTTP_PATH, private bool $short_url_possible=false)
 
if($err=$client->getError()) $namespace
 
The scope of this class is split ilias-conform URI's into components. 
 
buildTarget(string $namespace, ?ReferenceId $reference_id=null, array $additional_parameters=[])
 
build(string $namespace, ?ReferenceId $reference_id=null, array $additional_parameters=[])