2009年8月20日星期四

答复: 答复: [PerlChina] Re: IiBlog发布了

Cu老帖

http://bbs3.chinaunix.net/thread-902495-1-1.html

同时我个人更喜欢mod_perl

Apache::DBI应该只提升数据库操作的效率 至于在fastcgimod_perl下有什么差异。。倒真还不了解

 

发件人: perlchina@googlegroups.com [mailto:perlchina@googlegroups.com] 代表 Mike.G
发送时间: 2009820 14:47
收件人: perlchina@googlegroups.com
主题: Re: 答复: [PerlChina] Re: IiBlog发布了

 

对的。要的就是这种感觉。

另外我也觉得catalyst太复杂了。
考虑的东西太多。感觉学习起来曲线很复杂。

另外有个问题,我怎么发现,runfastcgi下,反而没有runmod_perl下的速度快?

尤其是在mod_perl里挂上Apache::DBI


2009/8/20 蒋宇捷 <hfahe@163.com>

如果用面向对象的方法来封装的话,例如Dhandler这样写就可以了

 

         if ( $r->uri =~ /favicon\.html/i || $r->uri =~ /api\/favicon/i ) {

        

                   my $application = new FaviconApplication( 'favmx', $r, $m );

                   $application->fetch_favicon;

        

         }

         elsif ( $r->uri =~ /vimage\.html/i ) {

        

                   my $application = new AuthVCodeApplication( 'favmx', $r, $m );

                   $application->generate_vimage;

                  

         }

         elsif ( $r->uri =~ /api\//i || $r->uri eq '/' ) {

                                    

                   my $application = new AuthFavApplication( 'favmx', $r, $m );

                   $application->set_account_memd( $account_memd );                  

                   $application->process;            

         }       

         elsif ( $r->uri =~ /fav\//i ) {

                                    

                   my $application = new Max1FavApplication( 'favmx', $r, $m );

                   $application->process;            

        

         }       

         else {

                   $m->redirect( '/api/fav' );

         }

Autohandler里没内容了

 

<%flags>

    inherit => '/dhandler'

</%flags>

 

应用程序完全封装成Application类了,在里面分成各个function进行业务逻辑处理和页面跳转。

 

例如

                   $self->log_error( $request->param('error') );

                   $self->mason->abort( 200 );

Or

                   if ( !$self->is_authorized ) {

                            return $self->mason->comp( $AuthFavApplication::UNAUTHORIZED_PAGE, 'application' => $self );

                   }

                   else {

                            return $self->mason->comp( $AuthFavApplication::AUTHORIZED_PAGE, 'application' => $self );

                   }

发件人: perlchina@googlegroups.com [mailto:perlchina@googlegroups.com] 代表 Mike.G
发送时间: 2009820 11:29
收件人: perlchina@googlegroups.com
主题: [PerlChina] Re: IiBlog发布了

 

好的。我一直想这个问题。
如果完全是基于mason来弄,就像是基于页面的开发模式。
也就是说一个请求动作要在整个页面里完成的。
好像需要把所有的请求放入这个页面里面。我不太喜欢这种。

不知道能不能这样。
比如说定义个db_handle
在这个里面结果所有的请求。
比如说目录:
/app/dbhandlers

然后在这个文件里接管所有请求,
请求玩了之后,
forward其他的显示页面。

自己只是这么想。
没有自己写。

*^-^*

2009/8/20 Beckheng Lam <bi.ken.lam@gmail.com>

我也是在不停的修改呢。多交流交流哈。

Mike.G wrote:

哦。我很粗的看了一眼。
好像看到你的代码里面夹杂了数据库的查询语句来着。

我也一直想用mason,但是一直没找到一个自己喜欢的代码模式。

2009/8/19 Beckheng Lam <bi.ken.lam@gmail.com>

Mike, 是用Mason写的。你说的混合在HTML是指很多内容输入合并在HTML里面吗?

Mike.G wrote:

咦,是用Mason写的?

不过好多代码都好像完全的混合在html里了啊。

2009/8/19 Beckheng Lam <bi.ken.lam@gmail.com>

基于HTML::Mason IiBlog,包含 文章发布、图片集、投票、留言管理。



链接地址:http://code.google.com/p/iiblog/

欢迎大家提出意见。

 

 

 

 

 



-- 
Perl乐事 -- http://www.perlersh.org
我的博客 -- http://www.perlersh.org/blog.html

 

 

 

 

 




--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
 要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
 要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛

-~----------~----~----~----~------~----~------~--~---

没有评论: