Commit Graph

332 Commits

Author SHA1 Message Date
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
Abel Hoogeveen f5fd1143fb
Made test directories uppercase to make them compatible with Linux. 2019-01-10 23:54:33 +01:00
Abel Hoogeveen f0865bb761
Implemented all ideas for the Christmas holidays 2019-01-01 18:37:14 +01:00
Abel Hoogeveen ef149a953f Moved 'tests' to 'test' folder to make consistent with other FuzeWorks projects. 2018-12-23 19:21:31 +01:00
Abel Hoogeveen 4086af2040
Updated directory consistency and notice in copyright. 2018-12-13 23:45:55 +01:00
Abel Hoogeveen 78c92471e2 Merge branch 'fix-plugins' into 'development'
Fixed problems with Plugins class. Adding plugins now no longer get overridden.

See merge request fuzeworks/core!67
2018-11-21 23:43:11 +00: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 8bbbcbfc81 Merge branch '130-logger-fix' into 'development'
Implemented a proper error_logger.

Closes #130

See merge request fuzeworks/core!66
2018-11-16 22:40:03 +00:00
Abel Hoogeveen 3a52828ae4
Implemented a proper error_logger. 2018-11-16 23:34:32 +01:00
Abel Hoogeveen d79c382843 Release 1.2.0 BETA
See merge request fuzeworks/core!65
2018-10-07 21:02:18 +00:00
Abel Hoogeveen dbc7e202e5 Release 1.2.0 BETA 2018-10-07 21:02:18 +00:00
Abel Hoogeveen 051c64fdaa Merge branch 'development' into 'master'
Release version 1.1.4

See merge request fuzeworks/core!62
2018-02-21 23:18:00 +01:00
Abel Hoogeveen 38842ea052 Merge branch '122-plugin-system' into 'development'
Resolve "Plugin system"

Resolves multiple bugs and implements the plugin system.

> Closes #122

See merge request fuzeworks/core!61
2018-02-21 23:04:06 +01: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 1ab29878b2 Final fix for the plugin tests. 2018-02-20 22:25:10 +01:00