Catalyst Framework Perl (parte 1)

No primeiro artigo sobre o Catalyst vou mostrar como instalar e imprimir o "Seja Bem Vindo".

[ Hits: 15.058 ]

Por: Lucas em 09/08/2011


Criando welcome e executando



Agora vamos criar o nosso primeiro controle, que vai chamar Welcome, primeiro acesse o diretório MyApp, digite:

cd MyApp

Depois digite:

No Linux:

script/myapp_create.pl controller Welcome

No Windows:

perl script/myapp_create.pl controller Welcome

Vai ter um retorno parecido com esse:

exists "/home/lucas/MyApp/script/../lib/MyApp/Controller"
exists "/home/lucas/MyApp/script/../t"
created "/home/lucas/MyApp/script/../lib/MyApp/Controller/Welcome.pm"
created "/home/lucas/MyApp/script/../t/controller_Welcome.t"


Vai criar o módulo Welcome.pm no diretório MyApp/lib/MyApp/Controller.

Agora abra o arquivo Welcome.pm com algum editor de sua preferência.

O arquivo vai conter o código:

package MyApp::Controller::Welcome;
use Moose;
use namespace::autoclean;

BEGIN {extends 'Catalyst::Controller'; }

=head1 NAME

MyApp::Controller::Welcome - Catalyst Controller

=head1 DESCRIPTION

Catalyst Controller.

=head1 METHODS

=cut


=head2 index

=cut

sub index :Path :Args(0) {
    my ( $self, $c ) = @_;

    $c->response->body('Matched MyApp::Controller::Welcome in Welcome.');
}


=head1 AUTHOR

A clever guy

=head1 LICENSE

This library is free software. You can redistribute it and/or modify
it under the same terms as Perl itself.

=cut

__PACKAGE__->meta->make_immutable;

1;

Agora vamos executar nosso programa.

No Linux:

./script/myapp_server.pl

No Windows:

perl script/myapp_server.pl

Vai retornar isso:

[debug] Debug messages enabled
[debug] Statistics enabled
[debug] Loaded plugins:
.----------------------------------------------------------------------------.
| Catalyst::Plugin::ConfigLoader  0.30                                       |
'----------------------------------------------------------------------------'

[debug] Loaded dispatcher "Catalyst::Dispatcher"
[debug] Loaded engine "Catalyst::Engine::HTTP"
[debug] Found home "/home/lucas/MyApp"
[debug] Loaded Config "/home/lucas/MyApp/myapp.conf"
[debug] Loaded components:
.-----------------------------------------------------------------+----------.
| Class                                                           | Type     |
+-----------------------------------------------------------------+----------+
| MyApp::Controller::Root                                         | instance |
| MyApp::Controller::Welcome                                      | instance |
'-----------------------------------------------------------------+----------'

[debug] Loaded Private actions:

.----------------------+--------------------------------------+--------------.
| Private              | Class                                | Method       |
+----------------------+--------------------------------------+--------------+
| /default             | MyApp::Controller::Root              | default      |
| /end                 | MyApp::Controller::Root              | end          |
| /index               | MyApp::Controller::Root              | index        |
| /welcome/index       | MyApp::Controller::Welcome           | index        |
'----------------------+--------------------------------------+--------------'

[debug] Loaded Path actions:
.-------------------------------------+--------------------------------------.
| Path                                | Private                              |
+-------------------------------------+--------------------------------------+
| /                                   | /index                               |
| /                                   | /default                             |
| /welcome                            | /welcome/index                       |
'-------------------------------------+--------------------------------------'

[info] MyApp powered by Catalyst 5.80032
You can connect to your server at http://lucas-satellite-a200:3000

Para acessar a página de teste, abra seu navegador e digite o endereço acima, no meu caso:

http://lucas-satellite-a200:3000

Você vai ver uma pagina aparecida com essa na imagem:
Linux: Catalyst 
Framework Perl - Parte I
Para acessar a página welcome, digite no seu navegador:

http://lucas-satellite-a200:3000/welcome

Você vai ver esse resultado:

Matched MyApp::Controller::Welcome in Welcome.

É o que esta escrito no código do módulo Welcome.pm:

$c->response->body('Matched MyApp::Controller::Welcome in Welcome.');

Agora troque essa mensagem por uma qualquer que você deseje no lugar de "Matched MyApp::Controller::Welcome in Welcome." como por exemplo "Seja Bem Vindo".

Depois da mudança execute novamente o arquivo script/myapp_server.pl para compilar novamente sua aplicação.

Esse é o fim da primeira parte, você pode encontrar mais informações nos links abaixo:
Muito obrigado e espero que você tenha gostado!

Lucas Tiago de Moraes (Lucas1)

Página anterior    

Páginas do artigo
   1. Instalação
   2. Criando aplicação em Catalyst
   3. Criando welcome e executando
Outros artigos deste autor

Configurando OTRS com PSGI/Plack e executando com Starman

Catalyst Framework Perl - (parte 2)

Catalyst Framework Perl - Parte III

URL amigável com Perl

Executando os principais frameworks Perl no cPanel com CGI

Leitura recomendada

Programando uma Intranet com Apache, MySQL e Perl (parte 1)

URL amigável com Perl

Executando os principais frameworks Perl no cPanel com CGI

Introdução a CGI com a RFC 3875

Twittando com o Perl (parte 1)

  
Comentários
[1] Comentário enviado por leoberbert em 09/08/2011 - 21:53h

Muito Bom artigo... Não conhecia esse módulo do perl.... Irei testá-lo e mais uma vez parabéns pelo artigo.

[2] Comentário enviado por imasters em 15/08/2011 - 11:51h

Oi Lucas, tudo bom?
Sou editora do iMasters, um dos nossos desenvolvedores indicou esse seu artigo. Temos interesse em republica-lo no iMasters, o que você acha? Por favor, me responda no rina.noronha@imasters.com.br


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts