narcisonunez / laravel-scripts
Create scripts
Requires
- php: ^8.0
- illuminate/contracts: ^8.0
- spatie/laravel-package-tools: ^1.6.2
Requires (Dev)
- orchestra/testbench: ^5.0|^6.0
- phpunit/phpunit: ^9.3
- spatie/laravel-ray: ^1.9
- vimeo/psalm: ^4.4
This package is auto-updated.
Last update: 2024-10-28 12:39:19 UTC
README
Laravel Scripts allows you to create scripts and manage if that script can run or not.
Installation
You can install the package via composer:
composer require narcisonunez/laravel-scripts
You can publish and run the migrations with:
php artisan vendor:publish --provider="Narcisonunez\LaravelScripts\LaravelScriptsServiceProvider" --tag="scripts-migrations" php artisan migrate
Terminal Usage
###Create a script
Use the --force
option to override the existing class
php artisan scripts:make ScriptName
###Features You can customize the script by overriding the following properties:
- Numbers of times you can run the script.
/** * @var int */ public int $allowedRuns = 1;
This will ensure you are only running a script one time.
By default, It is unlimited (0
)
- Run the script inside a transaction.
/** * @var bool */ public bool $runAsTransaction = true;
This will eun you run method inside a transaction.
By default, It is false
.
- Numbers of times you can run the script.
/** * @var array */ public array $dependenciesValues = [ 'email : The email for the notification', 'name? : Name of the person running the script', 'role?' ];
The format for the dependencies is:
fieldName : Description
. Using ?
in the fieldName
will make it optional
You can access this values in your script class using $this->dependencies->fieldName
###Run a script
php artisan scripts:run ScriptName
Use the --interactive
option to use your depencenciesValues
. This will ask you to enter all the values dynamically.
You can access this values in your script class using $this->dependencies->fieldName
###See history
php artisan scripts:history [--limit=30] [--script=ScriptName]
By default --limit
is set to 10
UI Usage
Add this line to the routes/web.php file
Route::laravelScripts('scripts');
Go to your browser /scripts
to access the Administration.
- You are not able to create scripts from the UI.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.