Commit Graph

71 Commits

Author SHA1 Message Date
Abel Hoogeveen ccb0564a14 Fixed Logger::exceptionHandler() expecting Exception classes while Throwable classes could also be expected. (#12)
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
- Amended Logger
- Added unit tests for bug
- Added PHP8.1 to CI testing

Reviewed-on: #12
2022-02-20 12:11:58 +00:00
Abel Hoogeveen 0014c2d9f6
Added config layers.
Configs are now layered on top of each other. If a config file is found in multiple directories, they are merged together. Higher fields will override lower fields. This way, if one field is missing in a higher priority file, the lower priority can still be used.
2021-11-30 00:22:58 +01:00
Abel Hoogeveen 44ae26404c
Fixed bug where FuzeWorks exceptionHandler only accepted FuzeWork exceptions.
continuous-integration/drone/push Build is passing Details
- Should release 1.3.1.
2021-11-29 21:28:14 +01:00
Abel Hoogeveen 440964b375
Resolved problems brought up by PhpStorm.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
Includes problems such as:
- Grammar errors
- Type, argument and return declarations
- Redundant argument removal
2021-11-24 18:56:36 +01:00
Abel Hoogeveen 8ce3630714
PHP 8.0 compatibility update
continuous-integration/drone/push Build encountered an error Details
2021-11-24 17:43:00 +01:00
Abel Hoogeveen a8e6c46bb1 Made events more verbose.
continuous-integration/drone/push Build is passing Details
2020-07-12 11:56:47 +02:00
Abel Hoogeveen 7a899e33d7
Implemented a unit test for loading environment variables through config files.
continuous-integration/drone/push Build is passing Details
Config files may now have a 'lock' key. If a config file has such a key, ConfigORM will refuse to commit changes.
This allows the developer to use Core::getEnv() in config files, without risk of it being overwritten by a commit.
2020-05-15 19:17:59 +02:00
Abel Hoogeveen eec9eda22d
Added Core::getEnv, allowing the developer to load environment variables using a default fallback. 2020-05-15 18:53:23 +02:00
Abel Hoogeveen d4bf138533
Release version 1.2.3, changing the boot order. 2020-05-13 19:03:39 +02:00
Abel Hoogeveen 6f2e941eb1
Changed Configurator boot process.
- Components are now initialized before deferredComponentClasses are called. This ensures that components are properly prepared to be called.
- Directories are now added to components before components are initialized.

The following order has thus been established:
3.1 Load Components
3.1.1 setInstance of component
3.1.2 run onCreateContainer()
3.2 Add directories by category
3.3 each component init()
3.4 deferComponentClass invoke

See document on FuzeWorks boot order.
2020-02-20 12:43:40 +01:00
Abel Hoogeveen c74967f2a2
Allow library objects to be added by reference to the autoloaded library class. 2020-01-28 11:31:13 +01:00
Abel Hoogeveen 8d9d790b7e
Implemented changes for 1.2.0-RC5 2019-09-17 23:54:14 +02:00
Abel Hoogeveen ccbf09aa76
Implemented last change before release 1.2.0 2019-08-21 17:50:06 +02:00
Abel Hoogeveen 4e8bb7ede3 Imlemented the autoloader into libraries.
Libraries can now provide classes to be added to the autoloader, although this is not required.
2019-07-27 17:22:12 +02:00
Abel Hoogeveen 8b01dd2f84 Implemented three requested features.
- FuzeWorks\Core now manages autoloading of classes for Plugins. Plugins no longer need to implement this themselves. Autoloading for libraries to be added soon.
- FuzeWorks\Factory::getInstance('') now returns a requested component. No arguments will result in the Factory being returned. This should simplify invoking components. cloneInstance() replaces old functionality.
- FuzeWorks\Logger can now properly write logs to file. It's unknown how this issue wasn't discovered before.
2019-07-22 19:48:13 +02:00
Abel Hoogeveen c1b29cea5f Fixed bug relating to configuration files not being read properly.
- The plugins system wasn't properly registering the plugins config, because it was initialized at construct, which resulted in alternative directories not yet being loaded. The method has been changed to init() instead.
2019-07-22 11:52:28 +02:00
Abel Hoogeveen 68c2aaa210
Implemented all changes requested by FuzeWorks\Application.
- Implemented a exception and error handler which other methods register to. These are executed in the order provided by the Priority class
- Logger now uses the $isEnabled property to determine if it is enabled. $print_to_screen now has its own methods.
- Plugins now use a 'plugin.pluginName.php' file by default
-
2019-03-04 21:18:08 +01:00
Abel Hoogeveen 442556ed15
Implemented changes requested by FuzeWorks\Application.
- Changed the enableDebugMode() method in Configurator. Now gets enabled when calling this method. Restricting this through detectDebugMode() is now optional.
- Added multiple logs accross FuzeWorks.
2019-03-01 11:01:48 +01:00
Abel Hoogeveen 53e721f781
Implemented changes regarding Component and Directory duplicity in the Configurator. Now it is no longer possible to accidentally load the same component or directory twice. 2019-03-01 10:51:51 +01:00
Abel Hoogeveen 5a6b52f93d
Implemented changes requested by WebComponent 2019-02-09 20:25:49 +01:00
Abel Hoogeveen d670e9676b
Implemented all changes as proposed by the inspection report. 2019-01-21 20:44:53 +01:00
Abel Hoogeveen e10d84b65d
Implemented @covers in all unit tests. Code coverage now shows better what is actually covered and what is not. 2019-01-21 20:34:45 +01:00
Abel Hoogeveen f364245d90
Implemented Priority for componentPaths. 2019-01-21 17:19:09 +01:00
Abel Hoogeveen 436e270710
Implemented Exception messages in FuzeWorks HTTP Layout for Logger 2019-01-21 15:46:30 +01:00
Abel Hoogeveen 81567caec0
Changed EventPriority to Priority.
This class can now be used for other priorities as well. Should be useful for rewriting the Config class
2019-01-18 11:08:56 +01:00
Abel Hoogeveen be449b4f0d
Implemented ComponentPathsTrait.
Now every classes that uses paths doesn't have its own code anymore. All methods for handling paths have been standardized.
2019-01-18 11:00:22 +01:00
Abel Hoogeveen 8fc17c2a91
Added marginal logger changes 2019-01-17 14:14:31 +01:00
Abel Hoogeveen 172bed55b9
Initializing the container is no longer required. Use call method to call componentClasses after creating the container. 2019-01-17 13:54:37 +01:00
Abel Hoogeveen b87a35ecbc
Implemented requested changes. Closes #134. 2019-01-17 12:27:53 +01:00
Abel Hoogeveen 3154718f94
Implemented multiple requests. Mostly rewritten the Logger to be more compatible with Plugins and Components. 2019-01-16 23:07:09 +01:00
Abel Hoogeveen 961a4c4081
Removed main config file and fixed smaller details 2019-01-16 20:18:46 +01:00
Abel Hoogeveen f1beb64ab1
Implemented consistency with directories. Closes #131. 2019-01-12 11:31:01 +01:00
Abel Hoogeveen a3dc1439b6
Fixed issues in case-sensitive operating systems. PHPStorm has been a letdown in this field. 2019-01-11 23:19:53 +01:00
Abel Hoogeveen 0c569a9eb1
Updated copyright notice to 2019 2019-01-10 23:59:00 +01:00
Abel Hoogeveen f0865bb761
Implemented all ideas for the Christmas holidays 2019-01-01 18:37:14 +01:00
Abel Hoogeveen 4086af2040
Updated directory consistency and notice in copyright. 2018-12-13 23:45:55 +01:00
Abel Hoogeveen 9fbcd24bf9 Fixed problems with Plugins class. Adding plugins now no longer get overridden. 2018-11-21 23:39:01 +00:00
Abel Hoogeveen 3a52828ae4
Implemented a proper error_logger. 2018-11-16 23:34:32 +01:00
Abel Hoogeveen dbc7e202e5 Release 1.2.0 BETA 2018-10-07 21:02:18 +00:00
Abel Hoogeveen 09e1901659 Fixed integration bug where unit tests don't succeed on PHP7.0 but do on PHP7.1 2018-02-21 17:17:11 +01:00
Abel Hoogeveen 9b39b57957 Implemented getPluginEvent. This event gets called upon requestion a plugins using the Plugins::get() method, and can be used to cancel the request or provide with an alternative object. 2018-02-21 16:45:14 +01:00
Abel Hoogeveen 6e1ad40c95 Fixed bug where on linux plugins are not loaded due to missing capitalization. 2018-02-20 22:18:39 +01:00
Abel Hoogeveen 16738cf72c Fixed bugs and implemented the plugin system. See issue #122 for more information. 2018-02-20 21:57:12 +01:00
Abel Hoogeveen 0c7ae1300b Performed optimizations in the unit testing. Some minor useless functions (which already had replacements) have been removed. 2018-01-16 22:31:14 +01:00
Abel Hoogeveen c42cfffd40 Implemented Unit Tests for the patch 2018-01-16 22:18:54 +01:00
Abel Hoogeveen a2de80ae53 Implemented listener parameters. It is now possible to send fixed parameters to a listener upon creation. 2018-01-16 19:40:24 +01:00
Abel Hoogeveen 9b923bdd20 Fixed issue #117. Also made changes related to events. 2018-01-16 19:37:47 +01:00
Abel Hoogeveen f5a4c9b7f4 Removed void return type, since this is not officially supported. 2017-12-22 00:06:01 +01:00
Abel Hoogeveen d0f50af0eb Resolved #107. Fallback configuration has been implemented/ 2017-12-21 22:42:34 +01:00
Abel Hoogeveen 3907ecc780 Implemented PHP7 type hinting accross the Core of FuzeWorks. 2017-12-21 22:18:23 +01:00