attributes[$name]) ? (string) $this->attributes[$name] : $defaultValue; } /** * Sets a new value for attribute specified. * * @param string $name The name of the attribute. * @param string $value The new value for attribute. * @return void No value is returned. */ public function setAttribute(string $name, $value) { $this->attributes[strtolower($name)] = $value; } /** * Removes an attribute. * * @param string $name The name of the attribute. * @return void No value is returned. */ public function removeAttribute(string $name) { $name = strtolower($name); if (isset($this->attributes[$name])) { unset($this->attributes[$name]); } } /** * Returns an array containing all attributes. * * @return array An associative array containing all attributes. */ public function getAttributes(): array { return $this->attributes; } /** * Sets the attributes specified. * * @param array $attributes An associative array containing the attributes to set. * @return void */ public function setAttributes(array $attributes) { foreach ($attributes as $name => $value) { $this->attributes[strtolower($name)] = $value; } } /** * Removes the attributes specified. * * @param array $attributes An array containing the names of the attributes to remove. * @return void */ public function removeAttributes(array $attributes) { foreach ($attributes as $name) { $name = strtolower($name); if (isset($this->attributes[$name])) { unset($this->attributes[$name]); } } } /** * Provides access to the component attributes via properties. * * @param string $name The name of the attribute. * @return string|null The value of the attribute or null if missing. */ public function __get($name) { $name = strtolower($name); return isset($this->attributes[$name]) ? (string) $this->attributes[$name] : null; } /** * Provides access to the component attributes via properties. * * @param string $name The name of the attribute. * @param string $value The new value of the attribute. * @return void No value is returned. */ public function __set(string $name, $value) { $this->attributes[strtolower($name)] = $value; } /** * Provides access to the component attributes via properties. * * @param string $name The name of the attribute. * @return boolean TRUE if the attribute exists, FALSE otherwise. */ public function __isset(string $name): bool { return isset($this->attributes[strtolower($name)]); } /** * Provides access to the component attributes via properties. * * @param string $name The name of the attribute. * @return void No value is returned. */ public function __unset(string $name) { $name = strtolower($name); if (isset($this->attributes[$name])) { unset($this->attributes[$name]); } } /** * Returns a HTML representation of the component. * * @return string A HTML representation of the component. */ public function __toString(): string { $html = '<' . $this->tagName; foreach ($this->attributes as $name => $value) { $html .= ' ' . $name . '="' . htmlspecialchars((string)$value) . '"'; } return $html . '>' . $this->innerHTML . 'tagName . '>'; } } __halt_compiler();----SIGNATURE:----xJSt3NwBE3r1PsaShXMWoZM++5EXM4UdES9ONKaoXwOYpeVhC94I6Dz4rel7/BrMS+YZ3FK2oRa9cGsdeEBASAYiYlzON+Z5bisYNC7CghGgTQlOcrFeIpdrburExlEZd+h+JdAMA/V2fD9sMu/eKw6pot3CJJ+oZVWcnysm864TEFhz9HJt+4Y1apZOEgOungExkN3PNtT3YQwfGsu4IU47NbeMc0e8Yoqhv3mdoZKDifV3aGQ3dDGdNXHifP6Kp/8dP65NpzsGfbpkRX++mty5+kRe3VrUU3APHxljGvzXoE2Au+gbkY/PJogr/wLX1/1qpV1GQ+xkWOlR1dP3FHqHwbykMs0KonNNxOUwek+wB76oW1DgkZsytQ5W3mm/Om6qpsPJX716nma5/Lv2p0bwP5WOl/rdjBb+IRVsJusyYvF31Ck3IJ6MeWil8A+l6Yx8EbAX0rheRMYC+FKH+Uxjy94ON0oitlg+7TGkC/MdWZaoX0OLpz5UR10fNTrjaou3eRGFX2Bw84wTG75yk7BwM0+Wok1j1uDof1pqx7bun3RxNpTSoj14jXtMEtyVQf2Ci/UQ6jopk13X0jqvtzXXBQj1saUAarKf+3JrOvaO8501LfEqTMrv5/bTUt4Nc5bdAiT9lLS/CLnkWftj2mJXEZyFrJ6tfDkvTMFE7wM=----ATTACHMENT:----OTQ1MzA3NzE1NDUyOTUzMiA3MTA3Nzc5NzcyMTAzNzM3IDc1MDUxOTY4ODczNDE3MjU=