2017-02-16 2 views
1

Мне сегодня нужно было что-то сделать, и я вспомнил, что есть новый оператор **, но только с PHP 5.6, который, к сожалению, до сих пор не распространяется.PHP-тест, если существует оператор?

Так что мне интересно - есть ли способ проверить, существует ли оператор не путем тестирования версии PHP?
Очевидно, что нет такой функции, как operator_exits(...), и я больше ничего не нашел.

+0

Насколько я знаю, это невозможно. Более того, если оператор не существует, синтаксический анализатор просто сбой. –

+0

Я сомневаюсь, что 'pow()' будет устаревшим или удаленным, почему бы просто не использовать его? – AbraCadaver

+0

@AbraCadaver, конечно, я говорю не только о 'pow()', но о любых возможных предстоящих операторах ... –

ответ

1

Почему бы не просто проверить PHP version number? Если у него меньше 5.6, метод возврата.

+0

a) Я ищу способ без этого ** b) если его еще нет, очевидно, вы получить ошибку синтаксического анализа;) ** –

+0

@ jave.web действительная точка об ошибке синтаксического анализа, возможно, имеет две версии, проверяющие номер версии, а затем используйте include для вызова правильного? – Halfwarr

+0

Ну, это решение :-D, но вроде overkill :) –

3

Нет такой функции.

Функция, позволяющая проверить, существует ли оператор или не только имеет смысл на языке, который допускает operator overloading, например C++. В PHP операторы не могут быть перегружены, и усилия, затрачиваемые основной командой на разработку такой функции, никогда не будут стоить усилий. Нам просто нужно жить, зная, какая версия поддерживает операторов и работает оттуда.

Смежные вопросы