Как насчет этого одного лайнера, если вы не используете массивы:
IFS=';' read ADDR1 ADDR2 <<<$IN
Я понимаю ваше беспокойство. Даже для надежных источников PHP обеспечивает больший доступ, чем необходимо, ко всей среде веб-запроса. Даже если сценаристам доверяют и даже если они могут навредить себе только из-за ошибки сценария, им будет проще использовать и поддерживать более ограниченную среду сценариев.
Вам нужно что-то, что можно изолировать от песочницы, который может получить доступ только к ресурсам, которые вы явно назначаете его области действия, и который выполняется в среде выполнения «игра в игре», а не в собственной среде PHP.
Один из подходов - использовать язык веб-шаблонов для сценариев, представленных пользователем. Они обеспечивают определенный контроль (например, присвоение переменных) и закрывают другие возможности, например, вы не можете написать бесконечный цикл. Я использовал Velocity для этой цели в приложениях Java; Я думаю, что что-то вроде Smarty может работать в PHP, но у меня нет прямого опыта использования его для этой цели.
Другой подход, если то, что требуется от скриптов, ограничено доменом, - это реализация предметно-ориентированного языка (DSL). Я упоминал, что в этот ответ .
Кроме того, я не знаю никаких чистых PHP-реализаций языков сценариев. Я бы сам заинтересовался этим.
если то, что требуется от скриптов, ограничено доменом, это реализация предметно-ориентированного языка (DSL). Я упоминал, что в этот ответ .Кроме того, я не знаю никаких чистых PHP-реализаций языков сценариев. Это то, что мне было бы интересно.
если то, что требуется от скриптов, ограничено доменом, это реализация предметно-ориентированного языка (DSL). Я упоминал, что в этот ответ .Кроме того, я не знаю никаких чистых PHP-реализаций языков сценариев. Я бы сам заинтересовался этим.
Я не встречал много движков, позволяющих включить другой язык сценариев в PHP :-(
Даже в PECL, похоже, не так много записей (см. категорию «языки» , например: только один, который вы уже знаете)
И далее ГРУША, я даже не нашел ничего, что соответствовало бы вашим критериям ...
Я немного поиграл с Spidermonkey (см. эту статью в моем блоге , на французском), и это довольно весело , да. Но пару месяцев назад, когда я писал эту статью, она была нестабильна - и с тех пор было зафиксировано всего несколько коммитов. Итак, я понимаю, почему хостинговые компании не предоставляют его на своих серверах ...
Даже если бы я хотел: было бы здорово позволить разработчикам, не использующим PHP, разрабатывать сценарии для вашего приложения!
Однако возникает вопрос: зачем вам нужен другой язык, кроме PHP?
Что Я имею в виду, что PHP уже установлен на вашем сервере, очевидно, у вас есть опыт работы с ним, и это довольно мощный язык ... Так почему вы хотите / должны работать с чем-то еще?
Используя eval PHP, вы даже можете подумайте о выполнении "динамического" кода PHP (Да, eval - это eval и все такое, я знаю ^^)
Другой вариант, используя такие вещи, как "exec" и тому подобное, если вы используете Linux сервер, чтобы запустить какой-то шелл-скрипт; но я определенно предпочитаю кодирование на PHP, чем оболочку, и я, конечно, не единственный ^^
В любом случае, следя за ответами, которые вы можете получить,