[SP-pm] Sobre o Catalyst

Eden Cardim eden at insoli.de
Tue Jul 24 15:35:57 PDT 2012


>>>>> "Jose" == Jose Nilton <jniltinho em gmail.com> writes:

    Jose> Renato achei isso aqui, responde algumas perguntas:
    Jose> https://metacpan.org/module/Catalyst::View::TT

    Jose> Mas eu poderia colocar em outro lugar, como root/templates, seguindo
    Jose> esses passos:

    Jose> # MyApp_local.conf (Config::General format)
    Jose>  
    Jose> <View Web>
    Jose>   WRAPPER "custom_wrapper"
    Jose>   INCLUDE_PATH __path_to('root/templates')__
    Jose> </View>

    Jose> Esse caminha vai ser padrão para toda a aplicação ?

Não, isso vai ser específico pra view chamada "Web", e essa configuração
é específica do Catalyst::View::TT. Se você usar outra view, a
configuração vai ser diferente.

    Jose> Qual seria o padrão ?

Padrão de quê?

    Jose> Tem algum outro templete mais simples ?

Tem, qualquer coisa que gere texto. Você só precisa colocar sua resposta
no body, como por exemplo:

  $c->res->body('Hello World')

Ou usar um here-doc:

  $c->res->body(<<HTML);
  Hello World
  HTML

Ou slurpar o <DATA>:

  $c->res->body({ local $/; <DATA>});

__DATA__
Hello World

Você também pode usar um módulo do cpan qualquer, como por exemplo, o
String::TT:

  use String::TT;
  my $foo = 'World';
  $c->res->body(tt q{ Hello [% foo %] });

É infinito... A diferença entre fazer isso e usar uma view, é que com o
Controller::Root que vem no bootstrap padrão, a view vai colocar algo no
->body pra você automaticamente (ou não, tudo depende do que a view
faz).

    Jose> esse é o mais rápido ?

O Catalyst::View::TT é o mais usado, por isso provavelmente tem a maior
quantidade de otimizações. Mas é bem provável que em casos específicos
alguma outra coisa seja mais rápida. Se você aderir corretamente ao MVC,
vai poder trocar depois, sem ter que alterar nada.

    Jose> Achei esse jeito bacana, sem amarrações.

Sim, a filosofia do Catalyst é não te deixar amarrado em nada além do
core do framework, que é bem pequeno por sinal, cerca de metade das
linhas de código dos demais frameworks.

-- 
Eden Cardim
+55 11 9644 8225


More information about the SaoPaulo-pm mailing list