Recca0120\LaravelTracy\Panels\DatabasePanel::prepareBindings PHP Метод

prepareBindings() публичный статический Метод

prepare sql.
public static prepareBindings ( string $sql, array $bindings = [] ) : string
$sql string
$bindings array
Результат string
    public static function prepareBindings($sql, $bindings = [])
    {
        $bindings = array_map(function ($binding) {
            if (is_array($binding) === true) {
                $binding = implode(',', array_map(function ($value) {
                    return is_string($value) === true ? htmlspecialchars('\'' . $value . '\'', ENT_NOQUOTES, 'UTF-8') : $value;
                }, $binding));
                return htmlspecialchars('(' . $binding . ')', ENT_NOQUOTES, 'UTF-8');
            }
            if ($binding instanceof DateTime) {
                return htmlspecialchars('\'' . $binding->format('Y-m-d H:i:s') . '\'', ENT_NOQUOTES, 'UTF-8');
            }
            return is_string($binding) === true ? htmlspecialchars('\'' . $binding . '\'', ENT_NOQUOTES, 'UTF-8') : $binding;
        }, $bindings);
        $sql = str_replace(['%', '?'], ['%%', '%s'], $sql);
        $sql = vsprintf($sql, $bindings);
        return $sql;
    }