Obrigado Eden, pela resposta! E que de onde eu vim (PHP), as coisas são diferentes. Então vou resumir minha pergunta!
É possível usando HTTP::Server:Simple::CGI criar um esquema de routers dinamicos? Se nao, onde consigo fazer isso? Mas pelo que to vendo, terei que esquecer meus conceitos de PHP e recomeçar do zero! []'s Em 20 de outubro de 2011 00:24, Eden Cardim <[email protected]> escreveu: > >>>>> "Rafael" == Rafael Silveira <[email protected]> writes: > > Rafael> Galera, eis me aqui de novo! > Rafael> Como estão! > > Rafael> Pode parecer um tanto estranho eu querer usar > Rafael> HTTP::Server::Simple::CGI e Xslate; Criar um ambiente MVC do > Rafael> zero; Quando se tem Catalyst ou Dancer. Porem é aquilo, eu > Rafael> estou querendo aprender perl para web, e o melhor jeito de > Rafael> se fazer isso (no meu ponto de vista), é criar um sistema > Rafael> MVC utilizando essas libs. > > Rafael> Queria saber se é possível usar o modulo > Rafael> HTTP::Server::Simple::CGI, para carregar classes > Rafael> (controllers) de forma mvc. > > Não, esse módulo é uma implementação server-side de HTTP, mas você pode > integrar ele com outros módulos que façam isso. > > Rafael> Por exemplo: > > Rafael> http://localhost:3000/Postagens/listagem > > Rafael> A url acima, faz um request para meu App usando > Rafael> HTTP::Server::Simple::CGI que está escutando na porta 3000. > Rafael> Ele le a uri (Postagens/listagem), parseia ela, e define que > Rafael> Postagens é meu módulo (controller) e listagem é o método do > Rafael> meu módulo. > > Só toma cuidado com esse tipo de coisa, que é bem fácil você abrir uma > falha de segurança. A depender de como você implementou, sua app pode > estar aberta à execução de subrotinas arbitrárias. > > Rafael> Resumindo, faço isso dinamicamente, sem definir rotas. > > Rafael> Caso passe só Postagens na uri, ele chama o metodo default > Rafael> (index por exemplo). > > Rafael> Gostaria tbm de usar moose para estruturar meus módulos > (controllers). > > Rafael> Mas não sei nem por onde começar. > > Rafael> Talvez uma estrutura tipo. > > Rafael> /root > Rafael> /lib > Rafael> /config > Rafael> defaults.yml > Rafael> database.yml > Rafael> /controllers > Rafael> Postagens.pm > Rafael> /views > Rafael> Default.tt > Rafael> /models (nao to qrendo ver isso no momento) > Rafael> app.pl > > Rafael> Sugestões? > > Recomendo você usar o padrão de módulos do cpan pra estrutura de > arquivos da sua app. Assim qualquer desenvolvedor perl minimamente > decente vai saber onde olhar dentro da árvore de source. É algo da > forma: > > lib/ -- módulos > t/ -- testes > script/ -- executáveis > Makefile.PL ou dist.ini ou Build.PL -- listagem/instalação de > dependências > MANIFEST -- listagem de todos os arquivos distribuíveis > Changes -- log de mudanças entre releases > README -- primeiro arquivo que alguém vai ler > > É bem recomendável que você use o Dist::Zilla porque ele facilita uma > porção de coisas pra você na hora de estruturar isso. > > Rafael> Realmente eu gostaria de fazer dessa forma, para depois > Rafael> aprender a usar um Catalyst, Dancer. > > Eu acho perda de tempo. Vai ser mais rápido você aprender a estruturar > uma aplicação depois de você aprender a usar algo como o Catalyst e > depois olhar pro source pra ver como é implementado. Digo Catalyst > especificamente porque o Dancer é bem ruinzinho em termos da estrutura > interna e qualidade do código em geral. Outro módulo que vale a pena uma > olhada na doc e no source é o Plack. > > -- > Eden Cardim > Software Engineer > http://bit.ly/edencardim > http://twitter.com/#!/edenc > +55 73 9986-3963 > =begin disclaimer > Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ > SaoPaulo-pm mailing list: [email protected] > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> > =end disclaimer >
=begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: [email protected] L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer
