Nette\Database\SqlPreprocessor::callback PHP Method

callback() public method

public callback ( $m )
    public function callback($m)
    {
        $m = $m[0];
        if ($m[0] === '?') {
            // placeholder
            if ($this->counter >= count($this->params)) {
                throw new Nette\InvalidArgumentException('There are more placeholders than passed parameters.');
            }
            return $this->formatValue($this->params[$this->counter++], substr($m, 1) ?: 'auto');
        } elseif ($m[0] === "'" || $m[0] === '"' || $m[0] === '/' || $m[0] === '-') {
            // string or comment
            return $m;
        } else {
            // command
            static $modes = ['INSERT' => 'values', 'REPLACE' => 'values', 'KEY UPDATE' => 'set', 'SET' => 'set', 'WHERE' => 'and', 'HAVING' => 'and', 'ORDER BY' => 'order', 'GROUP BY' => 'order'];
            $this->arrayMode = $modes[ltrim(strtoupper($m))];
            return $m;
        }
    }