Bread::Board::Declare::Meta::Role::Attribute::Container - attribute metarole for container attributes in Bread::Board::Declare
version 0.16
This attribute trait indicates that the attribute (in a Bread::Board::Declare class) contains a subcontainer rather than a service. It must be specified explicitly (or else a service that happens to return a container will be created):
has attr => ( traits => ['Container'], is => 'ro', isa => 'Bread::Board::Container', );
Container attributes (unlike service attributes) can have defaults and builders, allowing you to also define subcontainers inline when desired, as in:
has attr => ( traits => ['Container'], is => 'ro', isa => 'Bread::Board::Container', default => sub { container Foo => as { service Bar => 'BAR'; }; } );
If no default or builder is supplied, the type constraint will be used to create a container instance automatically (using a temporary ConstructorInjection service). This is the dependency specification to use for that temporary service.
Jesse Luehrs <doy@tozt.net>
This software is Copyright (c) 2014 by Jesse Luehrs.
This is free software, licensed under:
The MIT (X11) License
To install Bread::Board::Declare, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Bread::Board::Declare
CPAN shell
perl -MCPAN -e shell install Bread::Board::Declare
For more information on module installation, please visit the detailed CPAN module installation guide.