Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
vendor
/
predis
/
predis
/
src
/
Command
/
Argument
/
Search
/
SchemaFields
:
AbstractField.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /* * This file is part of the Predis package. * * (c) 2009-2020 Daniele Alessandri * (c) 2021-2023 Till Krüss * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Predis\Command\Argument\Search\SchemaFields; abstract class AbstractField implements FieldInterface { public const SORTABLE = true; public const NOT_SORTABLE = false; public const SORTABLE_UNF = 'UNF'; /** * @var array */ protected $fieldArguments = []; /** * @param string $fieldType * @param string $identifier * @param string $alias * @param bool|string $sortable * @param bool $noIndex * @return void */ protected function setCommonOptions( string $fieldType, string $identifier, string $alias = '', $sortable = self::NOT_SORTABLE, bool $noIndex = false ): void { $this->fieldArguments[] = $identifier; if ($alias !== '') { $this->fieldArguments[] = 'AS'; $this->fieldArguments[] = $alias; } $this->fieldArguments[] = $fieldType; if ($sortable === self::SORTABLE) { $this->fieldArguments[] = 'SORTABLE'; } elseif ($sortable === self::SORTABLE_UNF) { $this->fieldArguments[] = 'SORTABLE'; $this->fieldArguments[] = 'UNF'; } if ($noIndex) { $this->fieldArguments[] = 'NOINDEX'; } } /** * {@inheritDoc} */ public function toArray(): array { return $this->fieldArguments; } }