<?php /** * SPDX-License-Identifier: GPL-2.0-only * * This file is part of Nominatim. (https://nominatim.org) * * Copyright (C) 2022 by the Nominatim developer community. * For a full list of authors see the git log. */ namespace Nominatim; /** * Operators describing special searches. */ abstract class Operator { /// No operator selected. const NONE = 0; /// Search for POI of the given type. const TYPE = 1; /// Search for POIs near the given place. const NEAR = 2; /// Search for POIS in the given place. const IN = 3; /// Search for POIS named as given. const NAME = 4; /// Search for postcodes. const POSTCODE = 5; private static $aConstantNames = null; public static function toString($iOperator) { if ($iOperator == Operator::NONE) { return ''; } if (Operator::$aConstantNames === null) { $oReflector = new \ReflectionClass('Nominatim\Operator'); $aConstants = $oReflector->getConstants(); Operator::$aConstantNames = array(); foreach ($aConstants as $sName => $iValue) { Operator::$aConstantNames[$iValue] = $sName; } } return Operator::$aConstantNames[$iOperator]; } }