Commit Graph

347 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 ed0a82d68b
Merge branch 'master' of ssh://gitea.i15.nl:7070/FuzeWorks/Core
continuous-integration/drone/push Build is passing Details
2021-11-30 00:23:38 +01: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 c1b734d084
Added config layers.
continuous-integration/drone/push Build is passing Details
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:09:53 +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 46787aaa4e Merge pull request 'PHP 8.0 Update' (#10) from general-updates into master
continuous-integration/drone/push Build is passing Details
Reviewed-on: #10
2021-11-24 19:05:48 +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 32420e4681
Updated drone to perform tests for PHP 7.4 and 8.0.
continuous-integration/drone/push Build is passing Details
2021-11-24 17:49:20 +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 3ebd91d2ef
Updated PHPUnit to ^9 and vfsStream to ~1.6.0.
continuous-integration/drone/push Build is passing Details
- This resulted in some changes needing to be made in the test folder. All tests have been updated to work with these updated dependencies.
- Also, PHP 7.1 is no longer supported.
- psr/log is no longer a dependency of Core
2020-07-31 14:29:37 +02:00
Abel Hoogeveen fbc17a9519 Updated PSR::Log to ~1.1.0, so its compatible with other dependencies.
continuous-integration/drone/push Build is passing Details
2020-07-16 13:39:42 +02: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 2ae192b286 Merge branch 'development' into 'master'
Release 1.2.0

After a very long development cycle, 1.2.0 is finally finished.

This release brings a great many new feautures to FuzeWorks. The FuzeWorks Core has been split up into multiple projects to allow a more flexible utilisation.

The following feautures have been implemented in 1.2.0:
- FuzeWorks is now released under the MIT license. This license fits the usage of FuzeWorks in commercial projects more than the former GPLv3 license. 
- FuzeWorks now consists of so-called ``Components``. These Components can be added to the ``FuzeWorks\Configurator`` after which they shall be loaded. Each ``Component`` must have multiple methods which allow them to hook into other ``Components`` to communicate.
- FuzeWorks now supports PHP 7.3 and no longer supports 7.0.
- FuzeWorks now comes with an autoloader in ``FuzeWorks\Core``, allowing the developer to add a classMap to be autoloaded from a specific directory.
- ``FuzeWorks\Core`` now manages all error and exception handlers, executing them by order of ``Priority``

See merge request fuzeworks/core!69
2019-09-18 22:17:43 +00:00
Abel Hoogeveen 8d9d790b7e
Implemented changes for 1.2.0-RC5 2019-09-17 23:54:14 +02:00
Abel Hoogeveen be915fa98a Merge branch 'holiday-branch' into 'development'
1.2.0 RC4

See merge request fuzeworks/core!68
2019-08-21 15:54:01 +00: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 e9eb858a2d
Implemented changes into ConfiguratorTest.
Debug mode is now correctly tested.
2019-03-01 11:11:22 +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 90b1a6f7aa
Release release candidate 2 for 1.2.0 2019-02-11 19:49:14 +01:00
Abel Hoogeveen 5272b3f40b
Changed phpunit.xml to no longer include code coverage for the test directory.
This should increase the coverage percentage significantly.
2019-02-11 17:57:46 +01:00
Abel Hoogeveen f24a00c72c
Fixed gitlab-ci. Wrong package installed. 2019-02-11 17:32:00 +01:00
Abel Hoogeveen 31a668475a
Implemented namespace change in core_pluginsTest.
Fixes #139
2019-02-11 17:29:45 +01:00
Abel Hoogeveen 959540bba4
Implemented changes to gitlab-ci.yml. Fixes #138. 2019-02-11 17:13:28 +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 fc6a3f15c2
Implemented tests for PHP 7.3 2019-01-11 23:32:56 +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 01d45b2937
Removed MySQL from the build system. No need in FuzeWorks\Core 2019-01-11 23:11:02 +01:00
Abel Hoogeveen 0c569a9eb1
Updated copyright notice to 2019 2019-01-10 23:59:00 +01:00