- PHP 8.2+
- Added
AppConfigBuilder
. - Added
DebugConfigBuilder
andDebugConfig
. - Added the
ServiceProvider
interface. Application
implementsConfigProvider
,ServiceProvider
.- Added the console commands
cache:clear
andconfigs:list
(aliasconfigs
).
-
Renamed
ApplicationAbstract
asApplication
. The concept of extendingApplication
extendingApplicationAbstract
to add bindings is gone, as bindings are being phased out in favor of dependency injection container usage. -
The Autoconfig is now represented by a
Autoconfig
instance instead of an array and is available underApplication::$autoconfig
.Application::$config
is now aAppConfig
instance instead of an array, and it no longer includes Autoconfig parameters.AppConfig
constants that were used as array keys are now removed. Also,ICanBoogie\AUTOCONFIG_PATHNAME
has been replaced withICANBOOGIE_AUTOCONFIG
. -
The
EventCollection
instance is now obtained from the container. TheApplication::$events
property is now a real property, not a prototype method. -
Application
events no long use a sender and include aapp
property instead.<?php $events->attach(function (BootEvent $event, Application $sender) { ... });
<?php $events->attach(function (BootEvent $event) { ... });
-
The constructor of
Application
is now private and the class is final. UseApplication::new()
instead. -
Removed
PrototypedBindings
andget_app
onPrototyped
.
None
get_autoconfig
tries multiple places, includingICANBOOGIE_AUTOCONFIG
if it is defined. PHPUnit can be used as a package now.- Variable data files are now store in
var
instead ofrepository
, to mimic Linux.