Catalyst 入门教程(第 1 版)
第 2 页
目录
第 1 章 CATALYST 的简介..............................................................................................................................3
第 1 节 搭建 CATALYST 开发环境...................................................................................................................3
第 2 节 创建第一个 CATALYST 项目...............................................................................................................4
第 2 章 剖析应用程序类 ...................................................................................................................................8
第 3 章 掌握 CONTROLLER........................................................................................................................10
第 1 节 CONTROLLER 简介............................................................................................................................10
第 2 节 ACTION 详解......................................................................................................................................14
第 3 节 如何编写 ACTION .............................................................................................................................23
第 4 章 掌握 VIEW..........................................................................................................................................29
第 1 节 简介 ..................................................................................................................................................29
第 2 节 TT 入门 ............................................................................................................................................32
第 3 节 把 TT 作为 VIEW 使用.....................................................................................................................40
第 5 章 掌握 MODEL......................................................................................................................................43
第 1 节 简介 ..................................................................................................................................................43
第 2 节 DBIX::CLASS::SCHEMA 入门 ............................................................................................................44
第 3 节 .把DBIC::SCHEMA 作为 MODEL 使用.............................................................................................58
第 6 章 调试 CATALYST 程序.......................................................................................................................62
Catalyst 入门教程(第 1 版)
第 3 页
第 1 章 Catalyst 的简介
使用 perl 进行 web 开发,传统的做法是写*.cgi 文件,然后把这些 cgi 文件配到 web server 里面,当
web server 收到客户端的 request 时,就调用对应的 cgi 进行处理. 用这种方法进行 web 开发, cgi 文件
之间相对比较独立,代码里面可能含有大量的重复代码,整个系统的结构也是比较松散的, 可扩展性也不
强.
Catalyst 是一套用来 web 开发的框架,基于 Catalyst 开发的 web 系统,具有比较强的可扩展性.
第1节 搭建 Catalyst 开发环境
1 一般方法:
在 linux 系统上安装 Catalyst 只需要使用 CPAN 安装即可(推荐)
cpan -i Catalyst
cpan -i Catalyst::Devel(用来运行 Catalyst 项目的机器不需要安装该模块,如果需要使用 Catalyst 进
行开发则需要安装该模块)
在 windows 上安装可以使用 ppm,但是过程比较繁琐,不建议.
2 安装脚本
Matt Trout 写了一个安装脚本: http://www.shadowcatsystems.co.uk/static/cat-install
只需要从该链接下载脚本,然后 perl cat-install 即可按顺序安装相关模块,可用于 windows 跟 linux,
如果用于 windows 的话,必须保证你的机器上有 c 编译器和 make 工具.
3 模块打包方法(推荐)
Chris Laco 把 Catalyst 相关的模块打成了一个
包:http://handelframework.com/downloads/CatInABox.tar.gz
把该包下载下来不需要安装即可马上使用.可用于 windows 跟 linux 系统.
Catalyst 入门教程(第 1 版)
第 4 页
第2节 创建第一个 Catalyst 项目
给我们第一个项目起名为 X, 那么如下使用 Catalyst 创建我们的项目:
perl catalyst.pl X
如果这条命令出错了,那么可能是你的 Catalyst没有安装好,请参考第一节把 Catalyst装好.
键入命令后, catalyst.pl 会帮你创建如下文件:
created "X"
created "X\script"
created "X\lib"
created "X\root"
created "X\root\static"
created "X\root\static\images"
created "X\t"
created "X\lib\X"
created "X\lib\X\Model"
created "X\lib\X\View"
created "X\lib\X\Controller"
created "X\x.yml"
created "X\lib\X.pm"
created "X\lib\X\Controller\Root.pm"
created "X/README"
created "X/Changes"
created "X\t/01app.t"
Catalyst 入门教程(第 1 版)
第 5 页
created "X\t/02pod.t"
created "X\t/03podcoverage.t"
created "X\root\static\images\catalyst_logo.png"
created "X\root\static\images\btn_120x50_built.png"
created "X\root\static\images\btn_120x50_built_shadow.png"
created "X\root\static\images\btn_120x50_powered.png"
created "X\root\static\images\btn_120x50_powered_shadow.png"
created "X\root\static\images\btn_88x31_built.png"
created "X\root\static\images\btn_88x31_built_shadow.png"
created "X\root\static\images\btn_88x31_powered.png"
created "X\root\static\images\btn_88x31_powered_shadow.png"
created "X\root\favicon.ico"
created "X/Makefile.PL"
created "X\script/x_cgi.pl"
created "X\script/x_fastcgi.pl"
created "X\script/x_server.pl"
created "X\script/x_test.pl"
created "X\script/x_create.pl"
我们来看一下这些目录结构以及这些文件的含义:
X/ 项目文件夹
X/x.yml 项目的配置文件,Catalyst 的插件 ConfigLoader 会使用该文件
X/t test 文件夹,放置项目的各种测试脚本
X/script 辅助脚本文件夹,放置 catalyst 为项目准备的辅助脚本,开发时才会用到