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 _Model or _Util, that class is loaded automatically instead of \Gems_Model or \Gems_Util. _Model should be a subclass of \Gems_Model.

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

 Methods

__construct()

__construct(mixed $container, array $dirs) 
Inherited

Parameters

$container

mixed

A container acting as source for \MUtil_Registry_Source

$dirs

array

The directories where to look for requested classes

__get()

__get($name) 
Inherited

Parameters

$name

Add prefixed paths to the registry of paths

addPrefixPath(string $prefix, $path, boolean $prepend = true) : \Gems_Loader_LoaderAbstract
Inherited

Parameters

$prefix

string

$path

$prepend

boolean

Put path at the beginning of the stack (has no effect when prefix / dir already set)

Returns

\Gems_Loader_LoaderAbstract(continuation pattern)

Load project specific menu or general Gems menu otherwise

createMenu(\GemsEscort $escort) : \Gems_Menu

Parameters

$escort

\GemsEscort

Returns

\Gems_Menu

getAgenda()

getAgenda() : \Gems_Agenda

Returns

\Gems_Agenda

getCurrentUser()

getCurrentUser() : \Gems_User_User

Returns

\Gems_User_User

getEvents()

getEvents() : \Gems_Events

Returns

\Gems_Events

getExport()

getExport() : \Gems_Export

Returns

\Gems_Export

getExportModelSource()

getExportModelSource($exportModelSourceName) : \Gems_Export

Parameters

$exportModelSourceName

Returns

\Gems_Export

getImportLoader()

getImportLoader() : \Gems_Import_ImportLoader

Returns

\Gems_Import_ImportLoader

Returns an instance (row) of the the model, this allows for easy loading of instances

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

Parameters

$name

string

$model

\MUtil_Model_ModelAbstract

$data

array

Returns

mixed

getMail()

getMail($charset = null) : \Gems_Mail

Parameters

$charset

Returns

\Gems_Mail

getMailLoader()

getMailLoader() : \Gems_Mail_MailLoader

Returns

\Gems_Mail_MailLoader

getMailTargets()

getMailTargets() 

Get the project specific menu or general Gems menu otherwise

getMenu() : \Gems_Menu

Returns

\Gems_Menu

getMessenger()

getMessenger() : \Zend_Controller_Action_Helper_FlashMessenger

Returns

\Zend_Controller_Action_Helper_FlashMessenger

getModels()

getModels() : \Gems_Model

Returns

\Gems_Model

Returns an organization object, initiated from the database.

getOrganization(integer $organizationId = null) : \Gems_User_Organization

Parameters

$organizationId

integer

Optional, uses current user when empty

Returns

\Gems_User_Organization

getPdf()

getPdf() : \Gems_Pdf

Returns

\Gems_Pdf

Get a respondent object

getRespondent(string $patientId, integer $organizationId, integer $respondentId = null) : \Gems_Tracker_Respondent

Parameters

$patientId

string

Patient number, you can use $respondentId instead

$organizationId

integer

Organization id

$respondentId

integer

Optional respondent id, used when patient id is empty

Returns

\Gems_Tracker_Respondent

Get a new respondentExport

getRespondentExport() : \Gems_Export_RespondentExport

Returns

\Gems_Export_RespondentExport

getRoles()

getRoles(\GemsEscort $escort) : \Gems_Roles

Parameters

$escort

\GemsEscort

Returns

\Gems_Roles

getSelector()

getSelector() : \Gems_Selector

Returns

\Gems_Selector

getSnippetLoader()

getSnippetLoader($container) : \Gems_Snippets_SnippetLoader

Parameters

$container

Returns

\Gems_Snippets_SnippetLoader

getTaskRunnerBatch()

getTaskRunnerBatch(\type $id, \MUtil_Batch_Stack_Stackinterface $stack = null) : \Gems_Task_TaskRunnerBatch

Parameters

$id

\type

$stack

\MUtil_Batch_Stack_Stackinterface

Optional different stack than session stack

Returns

\Gems_Task_TaskRunnerBatch

getTestExport()

getTestExport() : \Gems_Export

Returns

\Gems_Export

getTracker()

getTracker() : \Gems_Tracker_TrackerInterface

Returns

\Gems_Tracker_TrackerInterface

getUpgrades()

getUpgrades() : \Gems_Upgrades

Returns

\Gems_Upgrades

getUser()

getUser(string $login_name, integer $organization) : \Gems_User_User

Parameters

$login_name

string

$organization

integer

Returns

\Gems_User_User

getUserLoader()

getUserLoader() : \Gems_User_UserLoader

Returns

\Gems_User_UserLoader

getUtil()

getUtil() : \Gems_Util

Returns

\Gems_Util

getVersions()

getVersions() : \Gems_Versions

Returns

\Gems_Versions

Add a subdirectory / sub name to a list of class load paths

_cascadedDirs(array $dirs, string $cascade, boolean $fullClassnameFallback = true) : array
Inherited

Parameters

$dirs

array

prefix => path

$cascade

string

The sub directories to cascade to

$fullClassnameFallback

boolean

Allows full class name specification instead of just plugin name part

Returns

arrayprefix => path

Returns $this->$name, creating the item if it does not yet exist.

_getClass(string $name, string $className = null, array $arguments = array()) : mixed
Inherited

Parameters

$name

string

The $name of the variable to store this object in.

$className

string

Class name or null if the same as $name, prepending $this->_dirs.

$arguments

array

Class initialization arguments.

Returns

mixedInstance of $className

Create or loads the class. When only loading, this function returns a StaticCall object that can be invoked lazely.

_loadClass(string $name, boolean $create = false, array $arguments = array()) : mixed
Inherited
see
see

Parameters

$name

string

The class name, minus the part in $this->_dirs.

$create

boolean

Create the object, or only when an \MUtil_Registry_TargetInterface instance.

$arguments

array

Class initialization arguments.

Returns

mixedA class instance or a \MUtil_Lazy_StaticCall object

 Properties

 

The prefix/path location to look for classes.

$_dirs : array

Default

The standard value is

  • => application/classes
  • Gems => library/Gems/classes

But an alternative could be:

  • Demopulse => application/classes
  • Pulse => application/classes
  • Gems => library/Gems/classes
 

$_loader

$_loader : \MUtil_Loader_PluginLoader

Default

 

$agenda

$agenda : \Gems_Agenda

Default

 

Allows sub classes of \Gems_Loader_LoaderAbstract to specify the subdirectory where to look for.

$cascade : string

Default

null
 

$events

$events : \Gems_Events

Default

 

$export

$export : \Gems_Export

Default

 

$importLoader

$importLoader : \Gems_Import_ImportLoader

Default

 

Required

$menu : \Gems_Menu

Default

 

$models

$models : \Gems_Model

Default

 

$pdf

$pdf : \Gems_Pdf

Default

 

$respondentexport

$respondentexport : \Gems_Export_RespondentExport

Default

 

$roles

$roles : \Gems_Roles

Default

 

$selector

$selector : \Gems_Selector

Default

 

$snippetLoader

$snippetLoader : \Gems_Snippets_SnippetLoader

Default

 

$tracker

$tracker : \Gems_Tracker

Default

 

$upgrades

$upgrades : \Gems_Upgrades

Default

 

$userLoader

$userLoader : \Gems_User_UserLoader

Default

 

$util

$util : \Gems_Util

Default

 

$versions

$versions : \Gems_Versions

Default