bangnokia / laravel-bunny-storage
Use Bunny Storage in Laravel application
Installs: 2 817
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 1
Requires
- illuminate/filesystem: ^10.46|^11|^12
- illuminate/support: ^10.46|^11|^12
- league/flysystem-path-prefixing: ^3.3
- platformcommunity/flysystem-bunnycdn: ^3.3
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0|^10.0
- phpunit/phpunit: ^10.0|^11.0|^12.0
README
Bunny Storage for Laravel
This package is just a wrapper for Laravel of the flysystem-bunnycdn package for simple integration with Laravel.
Installation
composer require bangnokia/laravel-bunny-storage
Configuration
This package automatically register the service provider and the storage disk for the driver bunny
. You can configure the disk in config/filesystems.php
:
'bunny' => [ 'driver' => 'bunny', 'storage_zone' => env('BUNNY_STORAGE_ZONE'), 'api_key' => env('BUNNY_API_KEY'), 'region' => env('BUNNY_REGION', \PlatformCommunity\Flysystem\BunnyCDN\BunnyCDNRegion::DEFAULT), 'pull_zone' => env('BUNNY_PULL_ZONE', ''), // optional if you want to access the file publicly 'root' => '', // optional, you could set a specific folder for upload like '/uploads' ],
and remember to add the environment variables in your .env
file:
BUNNY_STORAGE_ZONE=your-storage-zone-name BUNNY_API_KEY=your-api-key (it's password in bunny) #BUNNY_REGION=your-region (optional) #BUNNY_PULL_ZONE="https://your-pull-zone-url" (optional if you want to access the file publicly)
Usage
Storage::disk('bunny')->put('index.html', '<html>Hello World</html>'); return response(Storage::disk('bunny')->get('index.html'));
Regions
For a full region list, please visit the BunnyCDN API documentation page.
flysystem-bunnycdn
also comes with constants for each region located within PlatformCommunity\Flysystem\BunnyCDN\BunnyCDNRegion
.
# Europe BunnyCDNRegion::FALKENSTEIN = 'de'; BunnyCDNRegion::STOCKHOLM = 'se'; # United Kingdom BunnyCDNRegion::UNITED_KINGDOM = 'uk'; # USA BunnyCDNRegion::NEW_YORK = 'ny'; BunnyCDNRegion::LOS_ANGELAS = 'la'; # SEA BunnyCDNRegion::SINGAPORE = 'sg'; # Oceania BunnyCDNRegion::SYDNEY = 'syd'; # Africa BunnyCDNRegion::JOHANNESBURG = 'jh'; # South America BunnyCDNRegion::BRAZIL = 'br';