From aa403b978860210fcbace7fcdf5830066f3e14e0 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sat, 13 Oct 2018 02:17:44 -0400 Subject: import site content --- static/talks/bread_board_yapc_na_2012/010.pl.html | 52 +++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 static/talks/bread_board_yapc_na_2012/010.pl.html (limited to 'static/talks/bread_board_yapc_na_2012/010.pl.html') 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 @@ + + +010.pl + + + + +
                                  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');
+
+
+
+ -- cgit v1.2.3-54-g00ecf