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:----k0OrYn/LP4zWGfvYa1O3BxDYVS5U9rU/Ph/JidvG8fEjvAGxvGNlMKHaCkJ+LZqfhwkQ+1xT3u4AtN/o0MD5OfkfaF570mcTzbn/HhMISZyn5SIFe+WktaUbO4+5r7aM89JvUvN6KVEEnfPV4OT2wNFmS2dgQHxQ6a9RLqHtO382/tuY41sx6EXNK+3HcPfURKZaWXv1Zw6JcDcbsQ6phs5VM+XF0i1Cm6oc279B7Ba1M4qdl3afhKDHEL/vui+ROKvkxHg4o54/PHxNMPtjLd9+LQRftxWSnijr7ND+tVmYTyWq9qrDFzjsPoxdKDlzfSk2r31sygJ/UlPWS9LZakQxwCRre1BY0TDSiX3NePGFt7qRvDfY7ZG06p0KVV5CYGvoRZSpwxA+ImY0DbepVrenp8w3Y4aMLEO+l19uHNqo4yGX3PJwGgptQVD7V4rKHr4VsjGVQNUqBOqUNE3Cj5qktZkFMG+iN00DnGekvjYj/fKXfaspjkFR2qGF6A2j311qAlim1iCdgL31JtClfuKiZGih52FKZBvBQLwlLLULsfv9Z0Ek9dpqWhji4o/LofPqAe5pvQqr3yBM0HrBbzNliSMEodFJvKQvV8DmLb8xxRj+p9F8twLFwk6RNS/omsH8TMpvKRncHz7uH8sS1wPv7Uv71PzdIKZ8pKnwGHU=----ATTACHMENT:----ODM2MDk4MTMyMTAxODc2OCAxNzYyMTUwODc2NTk3NTkgNTk2MTQ1MTgwMzk2Nzc0NA==