Cmd-Dwarf
view release on metacpan or search on metacpan
# NAME
Dwarf - Web Application Framework (Perl5)
# SYNOPSIS
package App::Controller::Web;
use Dwarf::Pragma;
use parent 'App::Controller::WebBase';
use Dwarf::DSL;
sub get {
render 'index.html';
}
1;
# DESCRIPTION
Dwarf ã¯å°è¦æ¨¡ã°ã«ã¼ãï¼1ã5人ï¼åã Plack ãã¼ã¹ã®ã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ã§ãã<br />
- ããç¨åº¦ã®ä½æ¥åä½ (ã¢ã¸ã¥ã¼ã«åä½) ã§åæ¥ããæã
- è¨è¨ã®ç¾ãããããç°¡æ½æ§ã¨å©ä¾¿æ§ãéè¦
ã¨ãã£ãç¹å¾´ãããã¾ãã<br />
<br />
Catalyst ã«æ¯ã¹ãã¨ããªã軽éãå¤ãã® Sinatraish 㪠WAF ã¨çºæ³ãè¦æ¨¡ã¯è¿ããã¹ã¿ã¤ã«ãç°ãªãã¾ãã
## ããã¸ã§ã¯ãåæå
% dwarf hello_world
ãããã¯
% dir=${dwarf_cloned_dir}
% mkdir hello_world
% perl ${dir}/bin/dwarf --share_dir=${dir}/share --output=. hello_world
created ./hello_world/app
created ./hello_world/htdocs
## èµ·å
ããã©ã«ãã§ã¯ plackup ã§èµ·åãã¾ãã<br />
ãªãã·ã§ã³ -m ã« production ã¨æå®ãããã¨ã§ starman ã§èµ·åãã¾ãã<br />
ãã®èµ·åã¹ã¯ãªããã¯èªç±ã«ç·¨éãã¦ä½¿ããããã¨ãæ³å®ãã¦ãã¾ãã
% cd hello_world/app
% ./script/start_searver.sh
## ããã¸ã§ã¯ãæ§é
Dwarf ã¯ãããã¸ã§ã¯ãæ¯ã«ä½¿ãæ¨ã¦ããã¨ããææ³ã§ä½ããã¦ãã¾ãã<br />
ãã£ã¦ãã¬ã¼ã ã¯ã¼ã¯æ¬ä½ããã¼ã«ã«ã«ç½®ãããã®ãç¹å¾´ã§ãã
app/
app.psgi ... PSGI ãã¡ã¤ã«
cli.psgi ... ã³ãã³ãã©ã¤ã³ãã¼ã«ç¨ PSGI ãã¡ã¤ã«
cpanfile ... cpanfile
Makefile ... Make ãã¡ã¤ã«
lib/ ... ããã°ã©ã æ¬ä½
App.pm ... ã¢ããªã±ã¼ã·ã§ã³ã¯ã©ã¹
App/
Config/ ... è¨å®ãã¡ã¤ã«
Constant.pm ... 宿°å®ç¾©
DB.pm ... Teng ã®ãµãã¯ã©ã¹
DB/
Schema.pm ... ã¹ãã¼ãã¯ã©ã¹
Controller/ ... ã³ã³ããã¼ã©
Api/ ... JSON ã XML ãè¿ã API ç¨ã³ã³ããã¼ã©
ApiBase.pm ... API ç¨ã³ã³ããã¼ã©ã®ãã¼ã¹ã¯ã©ã¹
Cli/ ... ã³ãã³ãã©ã¤ã³ãã¼ã«ç¨ã³ã³ããã¼ã©
CliBase.pm ... ã³ãã³ãã©ã¤ã³ãã¼ã«ç¨ã³ã³ããã¼ã©ã®ãã¼ã¹ã¯ã©ã¹
Web/ ... HTML ãè¿ã Web ãã¼ã¸ç¨ã³ã³ããã¼ã©
WebBase.pm ... Web ãã¼ã¸ç¨ã³ã³ããã¼ã©ã®ãã¼ã¹ã¯ã©ã¹
Model/ ... ã¢ãã«
Test.pm ... ãã¹ãã¯ã©ã¹
Util/ ... ã¦ã¼ãã£ãªãã£ã¯ã©ã¹
Dwarf.pm ... Dwarf æ¬ä½
Dwarf/
script/ ... ã³ãã³ãã©ã¤ã³ãã¼ã«
sql/ ... SQL
t/ ... ãã¹ã
tmpl/ ... HTML ã®ãã³ãã¬ã¼ã
htdocs/ ... ããã¥ã¡ã³ãã«ã¼ã
## è¨å®ãã¡ã¤ã«
è¨å®ãã¡ã¤ã«ã¯ Perl ãªãã¸ã§ã¯ãã§è¨è¿°ãã¾ãã<br />
ããã©ã«ãã§è¨è¿°ããã¦ããé
ç®ä»¥å¤ã«ã¤ãã¦ã¯èªç±ã«ç·¨éãããã¨ãåºæ¥ã¾ãã<br />
package App::Config::Production;
use Dwarf::Pragma;
use parent 'Dwarf::Config';
sub setup {
my $self = shift;
return (
db => {
master => {
dsn => 'dbi:Pg:dbname=hello_world',
username => 'www',
password => '',
opts => { pg_enable_utf8 => 1 },
},
( run in 0.831 second using v1.01-cache-2.11-cpan-e93a5daba3e )