lithium\core\Libraries::$_paths
Contains a cascading list of search path templates, indexed by base object type.
Used by Libraries::locate()
to perform service location. This allows new types of
objects (i.e. models, helpers, cache adapters and data sources) to be automatically
'discovered' when you register a new vendor library or plugin (using Libraries::add()
).
Because paths are checked in the order in which they appear, path templates should be
specified from most-specific to least-specific. See the locate()
method for usage examples.
Source
protected static $_paths = array(
'adapter' => array(
'{:library}\extensions\adapter\{:namespace}\{:class}\{:name}',
'{:library}\{:namespace}\{:class}\adapter\{:name}' => array('libraries' => 'lithium')
),
'command' => array(
'{:library}\extensions\command\{:namespace}\{:class}\{:name}',
'{:library}\console\command\{:namespace}\{:class}\{:name}' => array(
'libraries' => 'lithium'
)
),
'controllers' => array(
'{:library}\controllers\{:namespace}\{:class}\{:name}Controller'
),
'data' => array(
'{:library}\extensions\data\{:namespace}\{:class}\{:name}',
'{:library}\data\{:namespace}\{:class}\adapter\{:name}' => array(
'libraries' => 'lithium'
),
'{:library}\data\{:namespace}\{:class}\{:name}' => array('libraries' => 'lithium'),
'{:library}\data\{:class}\adapter\{:name}' => array('libraries' => 'lithium')
),
'helper' => array(
'{:library}\extensions\helper\{:name}',
'{:library}\template\helper\{:name}' => array('libraries' => 'lithium')
),
'libraries' => array(
'{:app}/libraries/{:name}',
'{:root}/{:name}'
),
'models' => array(
'{:library}\models\{:name}'
),
'strategy' => array(
'{:library}\extensions\strategy\{:namespace}\{:class}\{:name}',
'{:library}\extensions\strategy\{:class}\{:name}',
'{:library}\{:namespace}\{:class}\strategy\{:name}' => array('libraries' => 'lithium')
),
'socket' => array(
'{:library}\extensions\net\socket\{:name}',
'{:library}\extensions\socket\{:name}',
'{:library}\net\socket\{:name}'
),
'test' => array(
'{:library}\extensions\test\{:namespace}\{:class}\{:name}',
'{:library}\test\{:namespace}\{:class}\{:name}' => array('libraries' => 'lithium')
),
'tests' => array(
'{:library}\tests\{:namespace}\{:class}\{:name}Test'
)
);