Мне было интересно, знает ли кто-нибудь о хорошем языке сценариев, который может быть встроен в php? Javascript был бы излюбленным, и, хотя есть несколько попыток, они либо слишком шаткие / медленные / устаревшие (phpjs, j4p5), либо настоящая боль, чтобы встать и работать на общих хостах (pecl spidermonkey).
Фон: я хотел бы иметь язык, который используется для управления php на сервере, но он также должен поддерживать некоторую логику, поэтому недостаточно yaml, xml или json. Я просмотрел интерпретаторы LUA и «Зимние» медиаквичей, но все они либо полагаются на внешние двигатели, либо имеют мощную привязку.
pecl spidermonkey binding представляется наиболее полным, где вы можете зарегистрировать vars, функции и целые объекты в js-engine. Кто-нибудь знает какую-либо систему или язык, который может приблизиться к тому, что я ищу?
Лучший
Рольф
Я понимаю вашу озабоченность. Даже для надежных источников PHP предоставляет больше доступа, чем это необходимо для всей среды веб-запроса. Даже если сценаристам доверяют, и даже если они могут только навредить ошибке сценария, более сложная среда сценариев будет проще для них использовать и упростить для вас.
Вы хотите что-то, что может быть изолировано от песочницы, которое может получить доступ только к ресурсам, которые вы явно назначаете для своей области, и которые выполняются в среде исполнения «игра в игре», а не в PHP.
Один из подходов заключается в использовании веб-шаблонов для пользовательских сценариев. Они обеспечивают определенную степень управления (например, назначение переменной) и закрывают другие параметры, например, вы не можете писать бесконечный цикл. Я использовал Velocity для этой цели в Java-приложениях; Я думаю, что что-то вроде Smarty может работать на PHP, но у меня нет прямого опыта использования его для этой цели.
Другой подход, если требуется, чтобы сценарии требовали сделать, ограничивается доменом, заключается в том, чтобы реализовать доменный язык (DSL). Я упомянул об этом в этом ответе .
Кроме того, я не знаю каких-либо чистых PHP-реализаций языков сценариев. Это то, что мне было бы интересно.
Я не вижу много движков, позволяющих включить в PHP другой язык сценариев 🙁
Даже в PECL, похоже, не много записей (например, категория «языки» : только одна, которую вы уже знаете)
И на PEAR я даже не нахожу ничего, что бы соответствовало вашим критериям …
Я немного играл с Spidermonkey (см. Эту статью в своем блоге , на французском), и это весело, да. Но это было не очень стабильно пару месяцев назад, когда я написал эту статью, и с тех пор было только несколько коммитов. Итак, я понимаю, почему хостинговые компании не предоставляют его на своих серверах …
Даже если бы я хотел бы, чтобы они: было бы здорово позволить разработчикам, не использующим PHP, разрабатывать скрипты для вашего приложения!
Вопрос: почему вам нужен / нужен другой язык, кроме PHP?
Я имею в виду, что PHP уже установлен на вашем сервере, у вас нет опыта с ним, и это довольно мощный язык … Итак, почему вы хотите / должны работать с чем-то другим?
Используя eval PHP, вы даже можете подумать о выполнении «динамического» PHP-кода (Yep, eval is eval и все это, я знаю ^^)
Другой вариант, используя такие вещи, как «exec» и т. П., Будет, если вы на сервере Linux, запустить какой-то shell-скрипт; но я определенно предпочел бы кодирование в PHP, чем оболочку, и я, конечно, не единственный ^
Во всяком случае, следя за ответами, которые вы могли бы получить, что могло бы меня немного заинтересовать 😉