The application configuration class Boson\ApplicationCreateInfo is
optional and serves as a convenient
way to define default settings for initializing your app.
#Application Name
The name of the application.
$appConfig = new Boson\ApplicationCreateInfo( name: 'Example Application', );
The value is optional and can be used for user needs, as well as for internal ones.
For example, as a WindowClass (WNDCLASS.lpszClassName) identifier on Windows OS.
#Intercepted Schemes
Defines custom schemes that your application can handle. These schemes allow you to create custom protocols for your application.
$appConfig = new Boson\ApplicationCreateInfo( schemes: [ 'boson' ], // Default is empty array );
More detailed information about the schemes is available on the Schemes API page.
Each registered scheme in this list will produce a SchemeRequestReceived intention when attempting to access a resource located at an address with this protocol.
#Debug Mode
Enables or disables debug features, like dev tools and logging. When enabled, provides additional diagnostic information and developer tools.
$appConfig = new Boson\ApplicationCreateInfo( debug: true, // Default is null );
If the value is not specified, the debug mode will be set according to the current
php.inisettings (depends on whether you are using the developmentphp.inisettings)
The debug mode settings also affect the default settings of child configurations, such as developer tools (if they are not set explicitly).
#Runtime Library
Specifies the path to a custom frontend library that should be loaded with the application.
$appConfig = new Boson\ApplicationCreateInfo( library: __DIR__ . '/path/to/custom/library.dll', // Default is null );
In most cases this is not required, and the library will be selected automatically based on the current operating system and CPU architecture.
#Extensions
You can explicitly specify a list of application extensions by passing an
array (iterable) in the extensions field.
$appConfig = new Boson\ApplicationCreateInfo( extension: [ new ExampleApplicationExtension(), ], );
You can read more about extensions in the application extensions section.