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)
mixedA container acting as source for \MUtil_Registry_Source
arrayThe directories where to look for requested classes
__get($name)
addPrefixPath(string $prefix, $path, boolean $prepend = true) : \Gems_Loader_LoaderAbstract
string
booleanPut 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_MenugetAgenda() : \Gems_Agenda
\Gems_AgendagetCurrentUser() : \Gems_User_User
\Gems_User_UsergetEvents() : \Gems_Events
\Gems_EventsgetExport() : \Gems_Export
\Gems_ExportgetExportModelSource($exportModelSourceName) : \Gems_Export
\Gems_ExportgetImportLoader() : \Gems_Import_ImportLoader
\Gems_Import_ImportLoadergetInstance(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
mixedgetMail($charset = null) : \Gems_Mail
\Gems_MailgetMailLoader() : \Gems_Mail_MailLoader
\Gems_Mail_MailLoadergetMailTargets()
getMenu() : \Gems_Menu
\Gems_MenugetMessenger() : \Zend_Controller_Action_Helper_FlashMessenger
\Zend_Controller_Action_Helper_FlashMessengergetModels() : \Gems_Model
\Gems_ModelgetOrganization(integer $organizationId = null) : \Gems_User_Organization
integerOptional, uses current user when empty
\Gems_User_OrganizationgetPdf() : \Gems_Pdf
\Gems_PdfgetRespondent(string $patientId, integer $organizationId, integer $respondentId = null) : \Gems_Tracker_Respondent
stringPatient number, you can use $respondentId instead
integerOrganization id
integerOptional respondent id, used when patient id is empty
\Gems_Tracker_RespondentgetRespondentExport() : \Gems_Export_RespondentExport
\Gems_Export_RespondentExportgetRoles(\GemsEscort $escort) : \Gems_Roles
\GemsEscort
\Gems_RolesgetSelector() : \Gems_Selector
\Gems_SelectorgetSnippetLoader($container) : \Gems_Snippets_SnippetLoader
\Gems_Snippets_SnippetLoadergetTaskRunnerBatch(\type $id, \MUtil_Batch_Stack_Stackinterface $stack = null) : \Gems_Task_TaskRunnerBatch
\type
\MUtil_Batch_Stack_StackinterfaceOptional different stack than session stack
\Gems_Task_TaskRunnerBatchgetTestExport() : \Gems_Export
\Gems_ExportgetTracker() : \Gems_Tracker_TrackerInterface
\Gems_Tracker_TrackerInterfacegetUpgrades() : \Gems_Upgrades
\Gems_UpgradesgetUser(string $login_name, integer $organization) : \Gems_User_User
string
integer
\Gems_User_UsergetUserLoader() : \Gems_User_UserLoader
\Gems_User_UserLoadergetUtil() : \Gems_Util
\Gems_UtilgetVersions() : \Gems_Versions
\Gems_Versions_cascadedDirs(array $dirs, string $cascade, boolean $fullClassnameFallback = true) : array
arrayprefix => path
stringThe sub directories to cascade to
booleanAllows full class name specification instead of just plugin name part
arrayprefix => path_getClass(string $name, string $className= null, array $arguments= array()) : mixed
stringThe $name of the variable to store this object in.
stringClass name or null if the same as $name, prepending $this->_dirs.
arrayClass initialization arguments.
mixedInstance 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