19 declare(strict_types=1);
    34         private readonly 
string $id,
    37         private readonly 
string $document_key = 
'document'    43         if (null === $this->internal->get(
'withdraw', $this->id)) {
    44             throw new Exception(
'No withdrawal process defined for: ' . $this->
id);
    46         return new ProvideWithdrawal($this->
id, $this->container->ctrl(), $this->container[
'ilAuthSession']);
    51         if (null === $this->internal->get(
'public-page', $this->id)) {
    52             throw new Exception(
'No agreement defined for: ' . $this->
id);
    59         return $this->
internal->get($this->document_key, $this->
id) ?? $this->
error(
'No documents defined for: ' . $this->
id);
    64         return $this->
internal->get(
'history', $this->
id) ?? $this->
error(
'No history defined for: ' . $this->
id);
    74         return $this->
internal->get(
'public-api', $this->
id);
    77     public function id(): string
    82     private function error(
string $message): void
 
__construct(private readonly string $id, private readonly Internal $internal, private readonly Container $container, private readonly string $document_key='document')
 
Customizing of pimple-DIC for ILIAS. 
 
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins