Встроенные языки сценария для PHP?

Как насчет этого одного лайнера, если вы не используете массивы:

IFS=';' read ADDR1 ADDR2 <<<$IN
7
задан starblue 30 July 2009 в 08:59
поделиться

2 ответа

Я понимаю ваше беспокойство. Даже для надежных источников PHP обеспечивает больший доступ, чем необходимо, ко всей среде веб-запроса. Даже если сценаристам доверяют и даже если они могут навредить себе только из-за ошибки сценария, им будет проще использовать и поддерживать более ограниченную среду сценариев.

Вам нужно что-то, что можно изолировать от песочницы, который может получить доступ только к ресурсам, которые вы явно назначаете его области действия, и который выполняется в среде выполнения «игра в игре», а не в собственной среде PHP.

Один из подходов - использовать язык веб-шаблонов для сценариев, представленных пользователем. Они обеспечивают определенный контроль (например, присвоение переменных) и закрывают другие возможности, например, вы не можете написать бесконечный цикл. Я использовал Velocity для этой цели в приложениях Java; Я думаю, что что-то вроде Smarty может работать в PHP, но у меня нет прямого опыта использования его для этой цели.

Другой подход, если то, что требуется от скриптов, ограничено доменом, - это реализация предметно-ориентированного языка (DSL). Я упоминал, что в этот ответ .

Кроме того, я не знаю никаких чистых PHP-реализаций языков сценариев. Я бы сам заинтересовался этим.

если то, что требуется от скриптов, ограничено доменом, это реализация предметно-ориентированного языка (DSL). Я упоминал, что в этот ответ .

Кроме того, я не знаю никаких чистых PHP-реализаций языков сценариев. Это то, что мне было бы интересно.

если то, что требуется от скриптов, ограничено доменом, это реализация предметно-ориентированного языка (DSL). Я упоминал, что в этот ответ .

Кроме того, я не знаю никаких чистых PHP-реализаций языков сценариев. Я бы сам заинтересовался этим.

2
ответ дан 7 December 2019 в 07:49
поделиться

Я не встречал много движков, позволяющих включить другой язык сценариев в PHP :-(
Даже в PECL, похоже, не так много записей (см. категорию «языки» , например: только один, который вы уже знаете)
И далее ГРУША, я даже не нашел ничего, что соответствовало бы вашим критериям ...

Я немного поиграл с Spidermonkey (см. эту статью в моем блоге , на французском), и это довольно весело , да. Но пару месяцев назад, когда я писал эту статью, она была нестабильна - и с тех пор было зафиксировано всего несколько коммитов. Итак, я понимаю, почему хостинговые компании не предоставляют его на своих серверах ...
Даже если бы я хотел: было бы здорово позволить разработчикам, не использующим PHP, разрабатывать сценарии для вашего приложения!

Однако возникает вопрос: зачем вам нужен другой язык, кроме PHP?

Что Я имею в виду, что PHP уже установлен на вашем сервере, очевидно, у вас есть опыт работы с ним, и это довольно мощный язык ... Так почему вы хотите / должны работать с чем-то еще?

Используя eval PHP, вы даже можете подумайте о выполнении "динамического" кода PHP (Да, eval - это eval и все такое, я знаю ^^)

Другой вариант, используя такие вещи, как "exec" и тому подобное, если вы используете Linux сервер, чтобы запустить какой-то шелл-скрипт; но я определенно предпочитаю кодирование на PHP, чем оболочку, и я, конечно, не единственный ^^


В любом случае, следя за ответами, которые вы можете получить,

4
ответ дан 7 December 2019 в 07:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: