Вопрос

На данный момент я использую PHP почти для всего, что разрабатываю для Интернета, но его лингвистические ограничения начинают меня раздражать.Однако, поскольку я разработал некоторые методы и поддерживаю некоторые библиотеки PHP, которые мне очень помогают, я не чувствую, что был бы готов просто переключиться на LISP, выбросив весь мой вывод PHP.Это может быть даже невозможно на серверах, к которым у меня есть доступ только к обычной учетной записи хостинга LAMP.

Следовательно, мои вопросы:Можно ли просто объединить код LISP с кодом PHP?Существуют ли решения для параллельного использования LISP/PHP, интерфейса для их взаимодействия или, возможно, это просто реализация одного для другого?Или это взаимоисключающий выбор?

Это было полезно?

Решение

Это не взаимоисключающий выбор, вы можете запускать оба в одной системе, точно так же, как perl и php (например) запускаются параллельно во многих системах.

Есть хороший пост здесь по аналогичной теме, в которой предлагается использовать сокеты для связи между обоими языками -

Если вы хотите пойти по пути PHP<->Lisp, проще всего заставить PHP взаимодействовать с вашим Lisp-процессом с помощью сокетов.

http://php.net/manual/en/ref.sockets.php

http://www.sbcl.org/manual/Networking.html

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

Другие советы

Скорее всего, вы не захотите писать код на PHP, если начнете разработку на Lisp.(Новая капитализация примерно с 80-х, кстати)

Hunchentoot — популярный сервер, который дает вам основы подключения диспетчеров к запросам.Есть серия скринкасты о написании клона Reddit на LispCast.com

Необычная паутина (звучит как игра слов в описании схемы в PAIP Питером Норвигом) - это, насколько я могу судить, более полная структура, основанная в значительной степени на идее продолжений, во многом похожая на Приморский для Смолтока.

Вебблоки — это еще один веб-фреймворк, основанный на продолжении, который выглядит красиво.Автор (в defmacro.org) пишет хорошие статьи, и мне нравится то, что я увидел в примере приложения для Weblocks.

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

Имея опыт работы с PHP, вы, вероятно, привыкли работать с тонким уровнем абстракции протокола HTTP.Я думаю, что это действительно облегчает переход на новый язык;Особенно тот, где нет одной доминирующей структуры.В этом смысле PHP и сообщество Lisp имеют некоторое сходство (но то же самое можно сказать и о других фрагментированных платформах с открытым исходным кодом, таких как Python и Perl).

Одна из проблем Lisp заключается в том, что существует очень большой выбор.Я решил, что предпочитаю Scheme Common Lisp, так что это немного сужает круг вопросов.После некоторых экспериментов я сейчас сосредоточился на plt-схема, которая, кажется, является той схемой, которая имеет наибольшую динамику.Помимо прочего, в комплект поставки входит веб-сервер.

К сожалению, я не могу придумать для этого никаких библиотек, однако я был в похожей ситуации, когда у меня был код PHP, но я устал «пытаться» закодировать логику (логику игры) на PHP, поэтому я использовал сокеты PHP для подключения на Lua, поэтому теперь я программирую всю серверную логику на Lua и использую PHP (настройка LAMP) в качестве внешнего сервера.

Надеюсь, это поможет.

Рекомендую вам попробовать Вебблоки.

Для обычной разработки веб-страниц на PHP я создал библиотеку под названием xilla_tags.

Обзор здесь

На сайте Джейкоба Ханссена также есть несколько хороших техник.

Посмотрите интересное решение для объединения Lisp и PHP.https://github.com/lisphp/lisphp

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top