我最近一直在学习CGI模块,而我正在使用的书显示有两种方法可以使用CGI,面向函数或面向对象。他们说面向对象的好处只是能够创建两个CGI对象。首先是真的,还有其他好处,其次是使用两个CGI对象的例子吗?
答案 0 :(得分:3)
我想我找到了问题的答案
http://perldoc.perl.org/CGI.html#PROGRAMMING-STYLE
通过faq读取,给出CGI对象多次使用的示例是我可以存储CGI并加载以前的CGI对象,这非常有用。
答案 1 :(得分:3)
当我需要组合一个非常简单的CGI脚本时,我使用CGI模块的OO接口。
我使用OOP接口,因为标准的命令式界面导入了大量可能与我自己的符号冲突的符号。我不喜欢这个,所以我总是阻止符号输入。我没有use CGI;
。相反,我use CGI ();
。
我还限制我使用生成标头和解析参数。我总是以HTML或更好的方式生成HTML,使用像TemplateToolkit这样的模板模块。
我严格避免使用CGI的HTML生成功能。为什么呢?
不要将我所写的内容解释为对CGI.pm的全面谴责。 CGI.pm有很多值得关注的地方。它获得内容类型生成权。它使参数解析变得微不足道。这是一个核心模块。它使命令行调试和测试变得容易。
答案 2 :(得分:1)
除了你引用的优点之外,我还要指出,使用CGI.pm的OOP比使用功能版本更清晰(至少对我而言)和管理。
我还怀疑这种情况比较常见,所以那些需要维护你的代码的人(包括你从现在起六个月后)会发现它更容易维护。