Back to ToolbarButton class

Method __call

public mixed
__call
(string $name, array $args)
Magiix method to adapt option accessors.
Parameters
  • string $name The method name.
  • array $args The method arguments.
Returns
  • mixed
Since
  • 4.0.0
-
  • \LogicException
Class: ToolbarButton
Project: Joomla

Method __call - Source code

/**
 * Magiix method to adapt option accessors.
 *
 * @param   string  $name  The method name.
 * @param   array   $args  The method arguments.
 *
 * @return  mixed
 *
 * @throws \LogicException
 *
 * @since  4.0.0
 */
public function __call(string $name, array $args)
{
    // Getter
    if (stripos($name, 'get') === 0) {
        $fieldName = static::findOptionName(lcfirst(substr($name, 3)));
        if ($fieldName !== false) {
            return $this->getOption($fieldName);
        }
    } else {
        $fieldName = static::findOptionName($name);
        if ($fieldName !== false) {
            if (!\array_key_exists(0, $args)) {
                throw new \InvalidArgumentException(sprintf('%s::%s() miss first argument.', \get_called_class(), $name));
            }
            return $this->setOption($fieldName, $args[0]);
        }
    }
    throw new \BadMethodCallException(sprintf('Method %s() not found in class: %s', $name, \get_called_class()));
}