20 declare(strict_types=1);
43 $this->component_id = null;
48 public function endComponent(
string $component,
string $type): void
50 $this->component_id = null;
51 $this->component = null;
55 public function beginTag(
string $name, array $attributes): void
57 if ($name ===
"module") {
58 $type =
"components/ILIAS";
59 } elseif ($name ===
"service") {
60 $type =
"components/ILIAS";
61 } elseif ($name ===
"pluginslot") {
67 if (!isset($attributes[
"id"])) {
68 throw new \InvalidArgumentException(
69 "Expected attribute 'id' for tag '$name' in $this->component" 73 $id = $attributes[
"id"];
74 if (!is_null($type)) {
75 if ($type !== $this->type) {
76 throw new \InvalidArgumentException(
77 "Type $this->type and tag don't match for component $this->component" 80 if (isset($this->data[
$id])) {
81 throw new \LogicException(
82 "In $this->type/$this->component: Id '$id' for component is used twice. First occurence was in {$this->data[$id][0]}/{$this->data[$id][1]}." 85 $this->component_id =
$id;
88 if (!isset($attributes[
"name"])) {
89 throw new \InvalidArgumentException(
90 "Expected attribute 'name' for tag '$name' in $this->component" 93 if (isset($this->slots[
$id])) {
94 throw new \LogicException(
95 "In $this->type/$this->component: Id '$id' for plugin slot is used twice. First occurence was in {$this->slots[$id][0]}/{$this->slots[$id][1]}." 103 public function endTag(
string $name): void
An ilComponentDefinitionProcessor processes some attributes from a component.xml (i.e.
endTag(string $name)
This is called when a tag ends in the context of the given component.
beginComponent(string $component, string $type)
This method is called when parsing of component.xml for the given component starts.
beginTag(string $name, array $attributes)
This is called when a tag starts in the context of the given component.
purge()
This methods is supposed to purge existing data in the provider of the component, so new components c...
endComponent(string $component, string $type)
This method is called when parsing of component.xml for the given component ends. ...
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins