扶凯

取势 明道 优术

作者为 扶 凯 发表

这是近来非常喜欢的一个东西,分享给大家.目前这 25 个 advent 的文章都翻译出来.
PSGI 的介绍,引用 Fayland Lam 的话:
PSGI/Plack 是个很新的事物,由 Tatsuhiko Miyagawa 在今年十月所开发.虽然时间很短,但是发展很迅速.到目前为止已经有好多个基于 Plack 的应用,如 mst 的 Web::Simple, 作者本人也是 Tatsumaki 等 framework 和 http://github.com/frioux/perlcritic-web 等例子的开发人.
想了解更多的 Plack 的开发的中间件(Middleware).请看了解更多.

 

进行之前,先要了解几个概念(名词):
应用(App)
————
应用是指一个独立功能的代码块,传统意义上其实就是一个 .psgi 的扩展的文件.就象一个普通的 pm 的模块一样.

输入(Input)
—–
如果 HTTP 的请求是 POST or PUT 的数据,它可以从 $env->{'psgi.input'} 的变量中读取.

环境(Environment)
———–
HTTP 的请求输入的内容相关的环境,会存在一个叫 $env 的 hash 引用的变量中.比如主机名,请求的  URL ,远程服务器的 IP.

响应(Response)
——–
delayed/streaming  会输出三个数组元素引用代码.是用来返回给客户端的.

错误信息(Errors)
——
在这个中,有一个处理错误的引用叫 $env->{'psgi.errors'}.

中间件(Middleware)
———-

包装好的整个应用程序,用来实现一些额外的通用的功能

使用 Catalyst 插件只有当你使用这种技术来写了 Catalyst 应用程序现在你可以自由使用这些包装的应用程序(Plack中间件),这些功能可以跨框架使用.

 

下面开始正式部分.这只是我的译文,原文地址:http://advent.plackperl.org/2009/12/day-1-getting-plack.html

安装 Plack/PSGI                                                                                       

 一个重要的步骤是安装 Plack 和其它的一些工具, PSGI 和 Plack 象标准的 Perl 模块一样发行,所以安装是非常容易的,你只要使用 CPAN shell 如下就行

$ cpanm  PSGI Plack


PSGI 的说明文档就在 PSGI 的模块中,所以安装了 PSGI 后你就能直接在 shell 中通过 perldoc PSGI 和 perldoc PSGI::FQA 的命令来查到相关的资料.Plack 是实现了一个标准的 WEB 服务器
一些核心的 middleware 的组件和工具就是 plackup 和 Plack::Test.
Plack 的核心是纯 Perl 实现的模块,所以只要是标准的 Perl 上都能很容易的安装,但得 5.8.1 (这个都发布 6 年了,不在可能小于这个吧).

 如果你使用这个框架开发你的 Web 应用(我非常支持你使用这个),我极力推荐你也安装 Task::Plack 这个模块.这个安装也一样很容易

$ cpanm Task::Plack

它会提示你一些有关的环境依赖,如果你不确认你是不是要安装这个,你可以不用管这个不用安装,这个会默认设置你的使用 XS 来提高速度,一些其它的服务器,象 non-blocking 环境下可能不能使用这个.
安装完后可以开始读 perldoc Plack .

 

 

 

来了就留个评论吧! 3个评论



    vincent leung 2011年12月16日 的 15:20

    thanks soooo much!