mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-12-28 15:34:34 +03:00
53 lines
1.3 KiB
PHP
53 lines
1.3 KiB
PHP
<?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];
|
|
}
|
|
}
|