Что лучший способ состоит в том, чтобы записать Perl приложение CGI?

Википедия не обслуживает требуемые заголовки, поэтому запрос заблокирован. Вы не можете это изменить. Но вы можете использовать прокси-сервер перекрестного происхождения, как этот

10
задан ristonj 17 December 2008 в 14:26
поделиться

6 ответов

Абсолютно (Вы, вероятно, смотрите на учебные руководства с 90-х). Вы захотите выбрать платформу. На земле Perl это наиболее популярный выбор:

  • CGI:: Приложение - очень легкий с большим количеством общественных плагинов
  • Катализатор - более нагруженный большим количеством дополнительных свойств
  • Jifty - более волшебный, чем вышеупомянутое
17
ответ дан 3 December 2019 в 13:26
поделиться

Отъезд вопроса CGI по сравнению с платформой MVC в настоящий момент, что Вы собираетесь хотеть, является одним из выходных модулей шаблонной обработки от CPAN.

Шаблонный Инструментарий очень популярен (Template.pm на CPAN) Также популярный текст:: Шаблон, HTML:: Шаблон и HTML:: Масон.

HTML:: Масон намного больше, чем шаблонный модуль, и как таковой мог бы быть немного слишком тяжелым для простого приложения CGI, но стоит исследовать некоторое время, Вы решаете, который был бы лучшим для Вас.

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

HTML:: Шаблон является также маленьким и простым. Это реализует свой собственный маленький набор тегов для обработки if/then/else, переменной установки и цикличного выполнения.Именно. Это рассматривается и как про и как довод "против" по причинам полной противоположности как текст:: Шаблон.

Шаблонный инструментарий (TT) реализует очень большое, погибните шаблонный язык, который включает цикличное выполнение и логику, и многое другое.

Я использовал HTML:: Обработайте по шаблону один, и нашел, что я хотел еще несколько функций. Я затем использовал текст:: Шаблон с успехом, но найденный его требованием вертеть с пространствами имен, чтобы быть небольшим раздражением. Я узнал и люблю Шаблонный Инструментарий. Для меня это просто чувствует себя хорошо. Ваш пробег может варьироваться.

Конечно, существует все еще старая "печать HTML" метод, иногда несколько операторов печати достаточны. Но Вы пришли к мысли разделить Ваш дисплей от Вашей основной логики. Который является хорошей вещью.

Это - первый шаг в будущем к Модели/Представлению/Контроллеру (MVC), в котором Вы разделяете свои данные model&business логика (Ваш код, который принимает вход, делает что-то с ним и решает, какие потребности быть произведенным), Ваш Ваш ввод/вывод (Шаблоны или операторы печати - HTML, PDF, и т.д.), и код, который соединяет два (CGI, CGI:: Приложение, Катализатор Платформа MVC, и т.д.). Причем идея состоит в том, что изменение в Вашей структуре данных (в Модели) не должно требовать изменений в Ваших программах вывода (Представление).

10
ответ дан 3 December 2019 в 13:26
поделиться

Это действительно, действительно большой вопрос. Короче говоря, лучший путь называют Моделью/Представлением/Контроллером (иначе MVC). С MVC Ваше приложение разделяется на три части.

Модель является Вашими данными и бизнес-логикой. Это - материал, который составляет ядро Вашего приложения.

Представление является кодом для представления вещей пользователю. В веб-приложении это обычно будет своего рода системой шаблонной обработки, но это могла также быть электронная таблица Excel или PDF. В основном это - вывод.

Наконец, у Вас есть Контроллер. Это ответственно за соединение Модели и Представления. Это берет запрос пользователя, получает соответствующие объекты модели и называет соответствующее представление.

mpeters уже упомянул несколько платформ MVC для Perl. Вы также захотите выбрать механизм шаблонной обработки. Самые популярные два являются Шаблонным Инструментарием и Mason.

11
ответ дан 3 December 2019 в 13:26
поделиться

Perl5 Wiki обеспечивает пользу (хотя еще не завершаются), список веб-платформ и шаблонов.

Статьи сравнения, связанные в "шаблонах" запись Wiki, стоит прочитать. Я также рекомендовал бы читать этот стиль нажатия, обрабатывающий системную статью по шаблону о PerlMonks.

Для шаблонной обработки затем Шаблонный Инструментарий является тем, который я использовал больше всего и могу настоятельно рекомендовать его. Существует также книга O'Reilly и, вероятно, наиболее используемая шаблонная система в королевстве Perl (внутри или снаружи веб-платформ).

Другой подход, к которому я был привлечен все больше, не является шаблоном решения "разработчика". Модули как Шаблон:: Declare & HTML:: AsSubs соответствуют этому счету.

5
ответ дан 3 December 2019 в 13:26
поделиться

Можно также разделить презентацию из кода и просто использовать систему шаблонной обработки, не будучи должен ввести все издержки полноценной платформы. Шаблонный Инструментарий может использоваться отдельно этим способом, как может Mason, хотя я склонен полагать, что это больше платформы, замаскированной как система шаблонной обработки.

Если Вы действительно фанатичны о разделении кода от презентации, тем не менее, знают, что TT и Mason оба позволяют (или даже поощрите, в зависимости от которых документов Вы читаете), исполняемый код, который будет встроен в шаблоны. Лично, я чувствую, что встраивание код в Вашем HTML не лучше, чем встраивание HTML в Вашем коде, таким образом, я склонен выбирать HTML:: Шаблон.

2
ответ дан 3 December 2019 в 13:26
поделиться

Одно решение, которое я чувствую, находит золотую середину в дилемме Платформы/Самокрутки, использование трех ключевых модулей жемчуга: CGI.pm, Шаблонный Инструментарий и DBI. С этими тремя модулями можно сделать изящное программирование MVC, которое легко записать и поддержать.

Все три модуля очень гибки с Шаблонным инструментарием (TT), разрешающим Вам выходным данным в HTML, XML или даже PDF, если Вы должны. Можно также включать логику жемчуга в TT, даже добавить интерфейс БД там. Это делает Ваши сценарии CGI очень маленькими и легкими поддержать, особенно при использовании "стандартной" прагмы.

Это также позволяет Вам помещать JavaScript, и AJAXy наполняют в самом шаблоне, который подражает разделению между клиентом и сервером.

Эти три модуля среди самого популярного на CPAN, имеют превосходную документацию и широкую базу пользователей. Плюс разработка с этими средствами можно скорее быстро переместиться в mod_perl, после того как Вы моделировали свой код, дающий Вам быстрый переход к встроенной среде жемчуга Apache.

В целом, компактный все же гибкий набор инструментов.

4
ответ дан 3 December 2019 в 13:26
поделиться
Другие вопросы по тегам:

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