Continued: - updated year to 2023
Continued: - introduced exception code for InvalidArgumentException
Continued: - added more type-hints - added more checks on parameter - changed old array() to "new" [] style - added some debug lines
Continued: - updated framework's (and testing application's) copyright year - also for tests copyright year has been updated Signed-off-by: Roland Häder <roland@mxchange.org>
Continued: - removed more // END - <something> occurances as I don't do them anymore Signed-off-by: Roland Häder <roland@mxchange.org>
Continued: - updated copyright year Signed-off-by: Roland Häder <roland@mxchange.org>
Rewrite: - constructors of concrete (=implementing non-abstract) classes should be private to avoid somone making an inheriting class of a concrete class - this is good practice: only make inheriting (concrete) classes of abstract classes, not another concrete class only because you want that functionality in your class, too - the private constructor also stops you from doing such wrong things, no need to make all concrete classes final Signed-off-by: Roland Häder <roland@mxchange.org>
Continued: - moved ObjectFactory into deeper package Signed-off-by: Roland Häder <roland@mxchange.org>
Continued: - renamed database's "Wrapper" name part to "Frontend" - added trait for above instance getter/setter Signed-off-by: Roland Häder <roland@mxchange.org>
Continued: - Removed monolithic BaseFrameworkSystem->flushPendingUpdates() - REFACTURING: moved some instances to traits, will continue with other instances after these have been tested Signed-off-by: Roland Häder <roland@mxchange.org>
Continued: - BaseFrameworkSystem-><get|set>ConfigInstance() was deprecated and no longer working since below rewrite happened. It was also slow and unneccessary as FrameworkBootstrap::getConfigurationInstance() does the same - moved $registryInstance and getter/setter to RegistryIterator (only place) - moved $commandName / $controllerName and getter/setter to proper resolver classes Signed-off-by: Roland Häder <roland@mxchange.org>
Continued: - added missing $namespace parameter - added missing imports of exception classes Signed-off-by: Roland Häder <roland@mxchange.org>
Continued: - Copyright year updated Signed-off-by: Roland Häder <roland@mxchange.org>
Continued: - updated copyright year (code was really updated there but not the year itself) - __call() does now finally show proper class name and only 'unknown' when self::$instance is not set (which must be an instance of FrameworkInterface for an obvious reason ...) Signed-off-by: Roland Häder <roland@mxchange.org>
Renamed Registry -> GenericRegistry to make it clear that this registry does indeed accept any type of data and therefor is very generic. Signed-off-by: Roland Haeder <roland@mxchange.org>
Some updates: - inc/config/config-local.php is no longer supported as it requires a (mostly) application-specific file being placed into core which is not a good idea. Better is strict separation of core-specific (framework only) and application-specific. - updated all file's copyright year to 2016 - added dummy for upcoming datbase migration support (later also between different engines, if possible?) Signed-off-by: Roland Haeder <roland@mxchange.org>
Continued: - added Org\Nxchange\ namespace followwing Java convention Signed-off-by: Roland Häder <roland@mxchange.org>
First Database, then Frontend (not Wrapper) Signed-off-by: Roland Häder <roland@mxchange.org>
Rewrite continued: - the framework now attempts to initialize the application more OOP-ed - this is done by calling 3 simple methods: + FrameworkBootstrap::initFramework(); + FrameworkBootstrap::prepareApplication(); + FrameworkBootstrap::startApplication(); - initFramework: 3 simple steps again: + scanFrameworkClasses: scans for framework-related classes, interfaces and exceptions + determineRequestType: determines request-type (console, html) and loads all given parameter into the initialized request class. It also initializes the response instance + validateApplicationParameter: validates the parameter 'app' if it is there and points to a valid application (very basic check, more later on) - prepareApplication: Prepares detected application by attempting to load all required include files and only optional if present. Please note that some files are now deprecated and should be ported to the new methods (see below) - startApplication: Starts the application by calling 3 methods: + setupApplicationData: replacement for data.php, sets all application's data. Please don't set any configuration stuff here, this is still done in config.php! + initApplication: Calls some additional methods to initialize application. Here is a good place to init database instance by calling the shiny new method initDatabaseInstance(). + launchApplication: Still old method name which starts the application. Please remove any request/response-init stuff from here as it is now generically done in FrameworkBootstrap - include files in framework/database/ are now all deprecated - renamed framework/config.inc.php -> framework/config-global.php - PrimeraPortal's API is history, so let us remove the obsolete file here, too - some "contrib" files updated - updated TODOs.txt - moved rand.php to contrib/ folder Signed-off-by: Roland Häder <roland@mxchange.org>
Continued: - added "import" of BaseUser, Updateable - added "import" of ManageableAccount and ManageableMember - fixed config entry, namespace added Signed-off-by: Roland Häder <roland@mxchange.org>