Catalyst Framework Perl (parte 1)

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

[ Hits: 15.575 ]

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

Catalyst Framework Perl - (parte 2)

Catalyst Framework Perl - Parte III

Configurando OTRS com PSGI/Plack e executando com Starman

Executando os principais frameworks Perl no cPanel com CGI

URL amigável com Perl

Leitura recomendada

Executando os principais frameworks Perl no cPanel com CGI

URL amigável com Perl

Twittando com o Perl (parte 1)

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

Catalyst Framework Perl - Parte III

  
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