开放的编程资料库

当前位置:我爱分享网 > PHP教程 > 正文

CGI::应用研究

一段时间以来,我一直想使用CGI::Application重新开发我的主页。上次我将它从PHP重写为perl时,我开发了一些东西,它基本上是CGI::App所做的事情的一个子集,而那些事情几乎没有完成。

我一直遇到的问题与侧边栏内容有关,并且想要基本上运行各种应用程序。我想要一个WikiWikiWeb、一个照片库、一些邮件表单和一个文章数据库/博客;所有这些都存在基于CGI::App的模块。但我希望它们都使用相同的侧边栏内容,而且侧边栏内容可能因用户而异。

PerlMonks上的这个节点激发了我的兴趣。作者告诉一位熟人,他遵守一个CGI::App最多应该有10-12个状态的规则;不止于此,您需要将其拆分或重新考虑您的设计。所有CGI::App都继承自一个公共超类,因此它们共享相同的数据库连接、模板等。

所以,我一直在调查这个问题。PM上的一个节点指出,他的ISP使用CGI::App,其中有数百种运行模式分布在许多应用程序中;他们创建了一个用于会话管理和访问控制的模块,该模块调用usebaseCGI::Application;然后每个应用程序调用usebaseControl,它们都自动拥有相同的会话管理和访问权限,以及CGI::Application

另一个节点提到了同样的事情,但提供了更多细节。该作者为每个应用程序编写了一个模块,每个模块都继承自一个超类:UserManager.pmSurvey.pmRSS.pmSearch.pm等。您为该超类创建一个API,每个CGI::App都利用该API来完成其工作。

这似乎也是CheesePizza背后的想法,CheesePizza是一个用于构建应用程序的基于CGI::App的框架。(所有比萨开始时都是奶酪比萨;您只需添加配料即可。)但是,问题是我必须在CGI::App之上学习另一个框架,而不是凭直觉了解自己的框架。

但是我该如何编写超类呢?回到最初引起我兴趣的节点,我发现了一个后来的回复,描述了你是如何做到这一点的。关键是你覆盖了print方法——这允许你自定义输出,你可以从这里调用创建侧边栏块的函数,并输出CGI::App的内容您刚刚调用了模板的主要内容区域。

工厂的谷物……

未经允许不得转载:我爱分享网 » CGI::应用研究

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏