当前位置:  开发笔记 > 编程语言 > 正文

编写Perl CGI应用程序的最佳方法是什么?

如何解决《编写PerlCGI应用程序的最佳方法是什么?》经验,为你挑选了4个好方法。

我见过CGI/Perl的每个例子基本上是一堆包含HTML的打印语句,这似乎不是编写CGI应用程序的最佳方式.有一个更好的方法吗?谢谢.

编辑:我决定使用CGI :: Application和HTML :: Template,并使用以下教程: http://docs.google.com/View?docid=dd363fg9_77gb4hdh7b.谢谢!



1> mpeters..:

绝对(你可能正在寻找90年代的教程).你想要选择一个框架.在Perl-land,这些是最受欢迎的选择:

CGI :: Application - 非常轻量级,有很多社区插件

催化剂 - 更重,有更多的铃铛和口哨

Jifty - 比上面更神奇



2> Dave Rolsky..:

这是一个非常非常重要的问题.简而言之,更好的方法称为模型/视图/控制器(又名MVC).使用MVC,您的应用程序分为三部分.

模型是您的数据和业务逻辑.这是构成应用程序核心的东西.

View是用于向用户呈现内容的代码.在Web应用程序中,这通常是某种模板系统,但它也可以是PDF或Excel电子表格.基本上,它是输出.

最后,你有控制器.这有责任将模型和视图放在一起.它接受用户的请求,获取相关的模型对象,并调用适当的视图.

mpeters已经为Perl提到了几个MVC框架.您还需要选择一个模板引擎.最受欢迎的两个是Template Toolkit和Mason.



3> Len Jaffe..:

暂时不考虑CGI与MVC框架的问题,您想要的是CPAN的输出模板模块之一.

Template Toolkit非常受欢迎(CPAN上的Template.pm)也很受欢迎:Text :: Template,HTML :: Template和HTML :: Mason.

HTML :: Mason不仅仅是一个模板模块,对于一个简单的CGI应用程序来说可能有点过于沉重,但是在你决定哪个最适合你时,值得研究一下.

Text :: Template相当简单,并且在模板中使用Perl,因此您可以循环数据并在Perl中执行显示逻辑.这被人们视为赞成和反对.

HTML :: Template也小而简单.它为if/then/else处理,变量设置和循环实现了自己的一小组标签.而已.由于与Text :: Template完全相反的原因,这被视为pro和con.

模板工具包(TT)实现了一个非常庞大的perlish模板语言,包括循环和逻辑等等.

我使用HTML :: Template one,发现我想要更多功能.然后我成功使用了Text :: Template,但发现它想要命名空间有点烦人.我已经了解并喜欢Template Toolkit.对我来说,这感觉很对.你的旅费可能会改变.

当然,仍然有旧的"打印HTML"方法,有时几个打印语句就足够了.但是你已经想到了将显示器与主逻辑分开的想法.这是件好事.

这是迈向模型/视图/控制器(MVC)的第一步,在这个过程中,您将数据模型和业务逻辑分开(您的代码接受输入,对其执行某些操作,并决定需要输出的内容),您的输入/ output(模板或打印语句 - HTML,PDF等),以及连接两者的代码(CGI,CGI :: Application,Catalyst MVC Framework等).我们的想法是,对数据结构的更改(在模型中)不应该要求更改输出例程(View).



4> draegtun..:

该Perl5的维基提供了一个良好的(但尚未完成)名单的Web框架和模板.

在"模板"维基条目中链接的比较文章值得一读.我还建议在PerlMonks上阅读这个推送式模板系统文章.

对于模板,然后模板工具包是我最常用的,可以强烈推荐它.还有一本O'Reilly书,可能是Perl王国中最常用的模板系统(在Web框架内部或外部).

我越来越多地采用的另一种方法是非模板"构建器"解决方案.像Template :: Declare和HTML :: AsSubs这样的模块符合这个要求.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有