NativePHP is currently in alpha development
Let's get to beta!#NativePHP Application Lifecycle
When your NativePHP application starts - whether it's in development or production - it performs a series of steps to get your application up and running.
- The native shell (Electron or Tauri) is started.
- NativePHP runs
php artisan migrate
to ensure your database is up-to-date. - NativePHP runs
php artisan serve
to start the PHP development server. - NativePHP boots your application by running the
boot()
method on yourNativeAppServiceProvider
. - NativePHP also dispatches a
ApplicationBooted
event.
#The NativeAppServiceProvider
When running php artisan native:install
, NativePHP publishes a NativeAppServiceProvider
to app/Providers/NativeAppServiceProvider.php
.
You may use this service provider to boostrap your application. For example, you may want to open a window, register global shortcuts, or configure your application menu.
The default NativeAppServiceProvider
looks like this:
1namespace App\Providers; 2 3use Native\Laravel\Facades\Window; 4use Native\Laravel\Contracts\ProvidesPhpIni; 5 6class NativeAppServiceProvider implements ProvidesPhpIni 7{ 8 /** 9 * Executed once the native application has been booted.10 * Use this method to open windows, register global shortcuts, etc.11 */12 public function boot(): void13 {14 Window::open();15 }16 17 /**18 * Return an array of php.ini directives to be set.19 */20 public function phpIni(): array21 {22 return [23 ];24 }25}
#Events
#ApplicationBooted
As mentioned above, the Native\Laravel\Events\App\ApplicationBooted
event is dispatched when your application has been booted.