Commit Graph

332 Commits

Author SHA1 Message Date
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
4086af2040
Updated directory consistency and notice in copyright. 2018-12-13 23:45:55 +01:00
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
9fbcd24bf9 Fixed problems with Plugins class. Adding plugins now no longer get overridden. 2018-11-21 23:39:01 +00:00
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
3a52828ae4
Implemented a proper error_logger. 2018-11-16 23:34:32 +01:00
d79c382843 Release 1.2.0 BETA
See merge request fuzeworks/core!65
2018-10-07 21:02:18 +00:00
dbc7e202e5 Release 1.2.0 BETA 2018-10-07 21:02:18 +00:00
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
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
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
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
1ab29878b2 Final fix for the plugin tests. 2018-02-20 22:25:10 +01:00