Commit Graph

344 Commits

Author SHA1 Message Date
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
44ae26404c
Fixed bug where FuzeWorks exceptionHandler only accepted FuzeWork exceptions.
All checks were successful
continuous-integration/drone/push Build is passing
- Should release 1.3.1.
2021-11-29 21:28:14 +01:00
46787aaa4e Merge pull request 'PHP 8.0 Update' (#10) from general-updates into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #10
2021-11-24 19:05:48 +01:00
440964b375
Resolved problems brought up by PhpStorm.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Includes problems such as:
- Grammar errors
- Type, argument and return declarations
- Redundant argument removal
2021-11-24 18:56:36 +01:00
32420e4681
Updated drone to perform tests for PHP 7.4 and 8.0.
All checks were successful
continuous-integration/drone/push Build is passing
2021-11-24 17:49:20 +01:00
8ce3630714
PHP 8.0 compatibility update
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2021-11-24 17:43:00 +01:00
3ebd91d2ef
Updated PHPUnit to ^9 and vfsStream to ~1.6.0.
All checks were successful
continuous-integration/drone/push Build is passing
- 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
fbc17a9519 Updated PSR::Log to ~1.1.0, so its compatible with other dependencies.
All checks were successful
continuous-integration/drone/push Build is passing
2020-07-16 13:39:42 +02:00
a8e6c46bb1 Made events more verbose.
All checks were successful
continuous-integration/drone/push Build is passing
2020-07-12 11:56:47 +02:00
7a899e33d7
Implemented a unit test for loading environment variables through config files.
All checks were successful
continuous-integration/drone/push Build is passing
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
eec9eda22d
Added Core::getEnv, allowing the developer to load environment variables using a default fallback. 2020-05-15 18:53:23 +02:00
d4bf138533
Release version 1.2.3, changing the boot order. 2020-05-13 19:03:39 +02:00
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
c74967f2a2
Allow library objects to be added by reference to the autoloaded library class. 2020-01-28 11:31:13 +01:00
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
8d9d790b7e
Implemented changes for 1.2.0-RC5 2019-09-17 23:54:14 +02:00
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
ccbf09aa76
Implemented last change before release 1.2.0 2019-08-21 17:50:06 +02:00
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
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
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
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
e9eb858a2d
Implemented changes into ConfiguratorTest.
Debug mode is now correctly tested.
2019-03-01 11:11:22 +01:00
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
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
90b1a6f7aa
Release release candidate 2 for 1.2.0 2019-02-11 19:49:14 +01:00
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
f24a00c72c
Fixed gitlab-ci. Wrong package installed. 2019-02-11 17:32:00 +01:00
31a668475a
Implemented namespace change in core_pluginsTest.
Fixes #139
2019-02-11 17:29:45 +01:00
959540bba4
Implemented changes to gitlab-ci.yml. Fixes #138. 2019-02-11 17:13:28 +01:00
5a6b52f93d
Implemented changes requested by WebComponent 2019-02-09 20:25:49 +01:00
d670e9676b
Implemented all changes as proposed by the inspection report. 2019-01-21 20:44:53 +01:00
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
f364245d90
Implemented Priority for componentPaths. 2019-01-21 17:19:09 +01:00
436e270710
Implemented Exception messages in FuzeWorks HTTP Layout for Logger 2019-01-21 15:46:30 +01:00
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
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
8fc17c2a91
Added marginal logger changes 2019-01-17 14:14:31 +01:00
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
b87a35ecbc
Implemented requested changes. Closes #134. 2019-01-17 12:27:53 +01:00
3154718f94
Implemented multiple requests. Mostly rewritten the Logger to be more compatible with Plugins and Components. 2019-01-16 23:07:09 +01:00
961a4c4081
Removed main config file and fixed smaller details 2019-01-16 20:18:46 +01:00
f1beb64ab1
Implemented consistency with directories. Closes #131. 2019-01-12 11:31:01 +01:00
fc6a3f15c2
Implemented tests for PHP 7.3 2019-01-11 23:32:56 +01:00
a3dc1439b6
Fixed issues in case-sensitive operating systems. PHPStorm has been a letdown in this field. 2019-01-11 23:19:53 +01:00
01d45b2937
Removed MySQL from the build system. No need in FuzeWorks\Core 2019-01-11 23:11:02 +01:00
0c569a9eb1
Updated copyright notice to 2019 2019-01-10 23:59:00 +01:00
f5fd1143fb
Made test directories uppercase to make them compatible with Linux. 2019-01-10 23:54:33 +01:00
f0865bb761
Implemented all ideas for the Christmas holidays 2019-01-01 18:37:14 +01:00
ef149a953f Moved 'tests' to 'test' folder to make consistent with other FuzeWorks projects. 2018-12-23 19:21:31 +01:00