\FWLoader

App Loading class

Summary

Methods
Properties
Constants
__construct()
load()
loadApp()
No public properties found
No constants found
loadAddon()
getMainClass()
getConfigType()
autoload()
$loader
$apps
$errors
$logger
$config
N/A
No private methods found
$default_configs
$loadedApps
N/A

Properties

$loader

$loader : \Composer\Autoload\ClassLoader

Composer loader instance

Type

\Composer\Autoload\ClassLoader

$apps

$apps : array

Loaded app configs

Type

array

$default_configs

$default_configs : array

Default config implementations array

Type

array

$loadedApps

$loadedApps : array

This exists to protect against circular dependencies

Type

array

Methods

__construct()

__construct(\Composer\Autoload\ClassLoader  $loader, array  $apps = array()) 

Construct the things

Parameters

\Composer\Autoload\ClassLoader $loader

Composer classloader

array $apps

load()

load(\FW\string  $appCode, array  $modules = null) : \FW\Structures\App

Loads an app into a partial or full loaded state based on provided app meta data.

Parameters

\FW\string $appCode
array $modules

Modules to load

Returns

\FW\Structures\App

The booted app instance

loadApp()

loadApp(array  $appMeta, boolean  $parentContainer = null) : \FW\Structures\App

Load an app

Parameters

array $appMeta

App metadata

boolean $parentContainer

If the app is being booted as a dependent, this has access to the parent container.

Returns

\FW\Structures\App

Application instance

loadAddon()

loadAddon(string  $name, array  $addonData, \FW\Utils\Container  $container) 

Load an addon

Parameters

string $name

Addon name

array $addonData

addon metadata

\FW\Utils\Container $container

Container instance

getMainClass()

getMainClass(string  $namespace) : string

Parse config and return the app's main class

Parameters

string $namespace

The app namespace

Returns

string —

The main class' classname

getConfigType()

getConfigType(array  $appData) : string

Parse app meta data and return the config type (default is php)

Parameters

array $appData

The app metadata

Throws

\StatusException

Returns

string —

The config class name

autoload()

autoload(string  $name, string  $path) 

This adds an app or addon to the composer autoload function The reason this exists is so that we don't have to override the composer.json file every time we install an app (that would get rather tedious)

Parameters

string $name

App/Addon name (as loaded/parsed from the fw.json file)

string $path

path to the app/addon folder