Что такое fexpr в PHP? Как я уже понял, это своего рода функция на языке Lisp:
В языках программирования Lisp fexpr — это функция, операнды которой передаются ей без оценки.
Я читал статью, в которой подробно обсуждались конструкции PHP, я столкнулся fexpr там & Поиск в Google привел меня к тому, что это принципиально концепция Lisp!
Вот почему я не могу четко обернуть голову. Не могли бы вы объяснить, что fexpr в PHP? и (если это семантически возможно), приведите пример & Случай использования.
Проще говоря — это то, что позволяет «функции», такие как isset()
а также empty()
принять возможно неопределенные переменные.
Это возможно только потому, что они на самом деле не являются функциями, а являются ключевыми словами языка (попробуйте объявить классы с этими именами, это не будет работать), которые распознаются синтаксическим анализатором и затем выполняются компилятором.
Обычная функция выполняется во время выполнения.
Если это не отвечает на ваш вопрос, то вам сначала нужно понять, что такое компиляторы и среды выполнения … Боюсь, это слишком широкое объяснение здесь.
Кроме этого, я не знаю Lisp, но могу только предположить, что «fexpr» является выдающейся особенностью в этом языке. Например, вы могли бы объявить свои собственные выражения fexpr — у PHP этого нет; он просто использует концепцию для нескольких особых случаев.
Других решений пока нет …