diff options
Diffstat (limited to 'static/talks/bread_board_yapc_na_2012/010.pl.html')
-rw-r--r-- | static/talks/bread_board_yapc_na_2012/010.pl.html | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/static/talks/bread_board_yapc_na_2012/010.pl.html b/static/talks/bread_board_yapc_na_2012/010.pl.html new file mode 100644 index 0000000..35f1fa8 --- /dev/null +++ b/static/talks/bread_board_yapc_na_2012/010.pl.html @@ -0,0 +1,52 @@ +<html> +<head> +<title>010.pl</title> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<script> +function navigate(e) { + var keynum = (window.event) // IE + ? e.keyCode + : e.which; + if (keynum == 8) { + window.location = "009z" + ".html"; + return false; + } + if (keynum == 13 || keynum == 32) { + window.location = "011" + ".html"; + return false; + } + if (keynum == 73 || keynum == 105) { + window.location = "index.html"; + return false; + } + return true; +} +</script> +</head> +<body onkeypress="return navigate(event)"> +<pre> Bread::Board + +my $c = container MyApp => as { + service dsn => 'dbi:mysql:myapp_db'; + service logger => (class => 'Logger', lifecycle => 'Singleton'); + service view => (class => 'View', dependencies => ['logger']); + + service model => ( + class => 'Model', + dependencies => ['logger', 'dsn'], + block => sub { + my $m = Model->connect($_[0]->param('dsn')); + $m->set_logger($_[0]->param('logger')); + return $m; + }, + ); + service app => ( + class => 'MyApp', + dependencies => ['model', 'view'], + ); +}; +$c->resolve(service => 'app'); + + +</pre> +</body> |