LoaderAbstract is used for classes that chain from \Gems_Loader and that thus allow projects to overrule the original implementation.
I.e if you create a class
You can set more than one overrule level. I.e. you can specify the class chain Demopulse, Pulse, Gems. The loader will then always look first in Demopulse, then in Pulse and lastly in Gems.
The class inherits from \MUtil_Registry_Source as the chained classes may have values that should be set automatically, e.g. from \Zend_Registry.
package | Gems |
---|---|
subpackage | Loader |
copyright | Copyright (c) 2011 Erasmus MC |
license | New BSD License |
since | Class available since version 1.4 |
inherited_from | \Gems_Loader_LoaderAbstract |
__construct(mixed $container, array $dirs)
mixed
A container acting as source for \MUtil_Registry_Source
array
The directories where to look for requested classes
__get($name)
addPrefixPath(string $prefix, $path, boolean $prepend = true
) : \Gems_Loader_LoaderAbstract
string
boolean
Put path at the beginning of the stack (has no effect when prefix / dir already set)
\Gems_Loader_LoaderAbstract
(continuation pattern)createMenu(\GemsEscort $escort) : \Gems_Menu
\GemsEscort
\Gems_Menu
getAgenda() : \Gems_Agenda
\Gems_Agenda
getCurrentUser() : \Gems_User_User
\Gems_User_User
getEvents() : \Gems_Events
\Gems_Events
getExport() : \Gems_Export
\Gems_Export
getExportModelSource($exportModelSourceName) : \Gems_Export
\Gems_Export
getImportLoader() : \Gems_Import_ImportLoader
\Gems_Import_ImportLoader
getInstance(string $name, \MUtil_Model_ModelAbstract $model, array $data) : mixed
Best usage would be to load from within the model, so return type can be fixed there and code completion would work like desired
string
\MUtil_Model_ModelAbstract
array
mixed
getMail($charset = null
) : \Gems_Mail
\Gems_Mail
getMailLoader() : \Gems_Mail_MailLoader
\Gems_Mail_MailLoader
getMailTargets()
getMenu() : \Gems_Menu
\Gems_Menu
getMessenger() : \Zend_Controller_Action_Helper_FlashMessenger
\Zend_Controller_Action_Helper_FlashMessenger
getModels() : \Gems_Model
\Gems_Model
getOrganization(integer $organizationId = null
) : \Gems_User_Organization
integer
Optional, uses current user when empty
\Gems_User_Organization
getPdf() : \Gems_Pdf
\Gems_Pdf
getRespondent(string $patientId, integer $organizationId, integer $respondentId = null
) : \Gems_Tracker_Respondent
string
Patient number, you can use $respondentId instead
integer
Organization id
integer
Optional respondent id, used when patient id is empty
\Gems_Tracker_Respondent
getRespondentExport() : \Gems_Export_RespondentExport
\Gems_Export_RespondentExport
getRoles(\GemsEscort $escort) : \Gems_Roles
\GemsEscort
\Gems_Roles
getSelector() : \Gems_Selector
\Gems_Selector
getSnippetLoader($container) : \Gems_Snippets_SnippetLoader
\Gems_Snippets_SnippetLoader
getTaskRunnerBatch(\type $id, \MUtil_Batch_Stack_Stackinterface $stack = null
) : \Gems_Task_TaskRunnerBatch
\type
\MUtil_Batch_Stack_Stackinterface
Optional different stack than session stack
\Gems_Task_TaskRunnerBatch
getTestExport() : \Gems_Export
\Gems_Export
getTracker() : \Gems_Tracker_TrackerInterface
\Gems_Tracker_TrackerInterface
getUpgrades() : \Gems_Upgrades
\Gems_Upgrades
getUser(string $login_name, integer $organization) : \Gems_User_User
string
integer
\Gems_User_User
getUserLoader() : \Gems_User_UserLoader
\Gems_User_UserLoader
getUtil() : \Gems_Util
\Gems_Util
getVersions() : \Gems_Versions
\Gems_Versions
_cascadedDirs(array $dirs, string $cascade, boolean $fullClassnameFallback = true
) : array
array
prefix => path
string
The sub directories to cascade to
boolean
Allows full class name specification instead of just plugin name part
array
prefix => path_getClass(string $name, string $className= null
, array $arguments= array()
) : mixed
string
The $name of the variable to store this object in.
string
Class name or null if the same as $name, prepending $this->_dirs.
array
Class initialization arguments.
mixed
Instance of $className_loadClass(string $name, boolean $create= false
, array $arguments= array()
) : mixed
$_dirs : array
The standard value is
But an alternative could be:
$_loader : \MUtil_Loader_PluginLoader
$agenda : \Gems_Agenda
$cascade : string
null
$events : \Gems_Events
$export : \Gems_Export
$importLoader : \Gems_Import_ImportLoader
$models : \Gems_Model
$pdf : \Gems_Pdf
$respondentexport : \Gems_Export_RespondentExport
$roles : \Gems_Roles
$selector : \Gems_Selector
$snippetLoader : \Gems_Snippets_SnippetLoader
$tracker : \Gems_Tracker
$upgrades : \Gems_Upgrades
$userLoader : \Gems_User_UserLoader
$util : \Gems_Util
$versions : \Gems_Versions