3 declare(strict_types=1);
66 $target_cid = $this->structure->getClassCidByName($target_class);
69 if (null === $target_cid) {
70 throw new ilCtrlException(
"Class '$target_class' was not found in the control structure, try `composer du` to read artifacts.");
75 if ($target_cid === $this->context->getPath()->getCurrentCid()) {
76 return $this->context->getPath()->getCidPath();
82 if (null !== $related_class_path) {
83 return $this->
appendCid($target_cid, $related_class_path);
90 if ($this->structure->isBaseClass($target_class)) {
94 throw new ilCtrlException(
"ilCtrl cannot find a path for '$target_class' that reaches '{$this->context->getBaseClass()}'");
getCidPathByClass(string $target_class)
Returns a cid path that reaches from the current context's baseclass to the given class...
ilCtrlException $exception
Class ilCtrlAbstractPath.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
ilCtrlContextInterface $context
getPathToRelatedClassInContext(ilCtrlContextInterface $context, string $target_class)
Returns the path to a class within the given contexts current path that has a relation to the given t...
__construct(ilCtrlStructureInterface $structure, ilCtrlContextInterface $context, string $target_class)
ilCtrlSingleClassPath Constructor
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
appendCid(string $cid, string $path=null)
Helper function to add CIDs to a given path.
__construct(Container $dic, ilPlugin $plugin)
ilCtrlStructureInterface $structure