因为项目需要,最近研究了一段时间Catalyst.下面把安装与练习tutorial的一些心得与感兴趣的同仁分享.
环境:windowsXP + Perl5.8 + MySQL
首先是安装,建议使用http://ppm.tcool.org/作为repository.具体可参见该网站获得不同版本PERL的添加方法。
安装如下Moudle(遵循顺序):
安装举例: ppm install Catalyst-Runtime 其后如果要更新版本请加上-force选项.
Catalyst::Runtime
Catalyst::Plugin::ConfigLoader
Catalyst::Action::RenderView
Catalyst::Plugin::Static::Simple
Catalyst::Devel
Catalyst::View::TT
DBIx::Class
DBD::MySQL
Catalyst::Controller::FormBuilder
Catalyst::Controller::BindLex
如果要使用验证部分功能请安装:
Catalyst::Plugin::Session,
Catalyst::Plugin::Session::State::Cookie,
Catalyst::Plugin::Session::Store::File
Catalyst::Plugin::Session::State::URI
如果要跟踪调试:
Catalyst::Plugin::StackTrace
如果遇到不能连接数据库问题安装(我是在验证时提示myapp.conf 中 Class DBIx::Class错误时安装的):
Catalyst::Plugin::Authentication::Store::DBIx::Class
在创建schema时使用如下命令(MySQL):
perl script/myapp_create.pl model DB DBIC::Schema MyApp::Schema create=static components=TimeStamp DBI:mysql:database=catalyst;host=localhost;user=root;password=mysql
注意这里使用的是所谓新型数据库链接串。
(老式如下:perl script/myapp_create.pl model DB DBIC::Schema MyApp::Schema create=static components=TimeStamp dbi:mysql:catalyst root mysql
)
几点注意:
1.在安装过程中如果提示低版本将覆盖高版本时,请首先记住要被覆盖的模块名称比如Win32,安装完毕后再安一遍被覆盖的模块.我遇到情况是覆盖Win32之后我使用ppm install Win32 -force更新到最新版本.
2.添加表关系时一定要加在 # You can replace this text with custom content, and it will be preserved on regeneration下面,1;上面。
3.创建数据库Model时要使用create=static,让我们一开始就习惯生产环境下做法.
4.在windows下使用 Session::Store::File验证,在Unix上使用Session::Store::FastMmap
5.要有一点Template-Tookit知识。
Tutorial地址:
http://search.cpan.org/~hkclark/Catalyst-Manual-5.7020/lib/Catalyst/Manual/Tutorial.pod