Sokil\Mongo\Document::__call PHP Method

__call() public method

public __call ( $name, $arguments )
    public function __call($name, $arguments)
    {
        // behaviors
        foreach ($this->behaviors as $behavior) {
            if (!method_exists($behavior, $name)) {
                continue;
            }
            return call_user_func_array(array($behavior, $name), $arguments);
        }
        // adding event
        if ('on' === substr($name, 0, 2)) {
            // prepend event name to function args
            $addListenerArguments = $arguments;
            array_unshift($addListenerArguments, lcfirst(substr($name, 2)));
            // add listener
            call_user_func_array(array($this->eventDispatcher, 'addListener'), $addListenerArguments);
            return $this;
        }
        // getter
        if ('get' === strtolower(substr($name, 0, 3))) {
            return $this->get(lcfirst(substr($name, 3)));
        }
        // setter
        if ('set' === strtolower(substr($name, 0, 3)) && isset($arguments[0])) {
            return $this->set(lcfirst(substr($name, 3)), $arguments[0]);
        }
        throw new Exception('Document has no method "' . $name . '"');
    }