Catalyst Framework Perl (parte 1)
No primeiro artigo sobre o Catalyst vou mostrar como instalar e imprimir o "Seja Bem Vindo".
Parte 3: 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:
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:
Agora vamos executar nosso programa.
No Linux:
./script/myapp_server.pl
No Windows:
perl script/myapp_server.pl
Vai retornar isso:
http://lucas-satellite-a200:3000
Você vai ver uma pagina aparecida com essa na imagem: 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:
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)
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;
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:3000Para 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: 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)