artisanry / picible
Picture attachment and management for your Eloquent models.
Fund package maintenance!
faustbrian
Requires
- php: ^7.2
- graham-campbell/flysystem: ^4.1
- illuminate/support: ^5.8|^6.0
- intervention/image: ^2.4
Requires (Dev)
- graham-campbell/testbench: ^5.0
- mockery/mockery: ^1.0
- phpunit/phpunit: ^6.5
README
Installation
Require this package, with Composer, in the root directory of your project.
$ composer require artisanry/picible
The package configuration will now be located at app/config/picible.php
and the migration at database/migrations/2015_01_30_000000_create_picible_table.php
.
To finish the installation you need to migrate the picible table by executing:
php artisan migrate
Usage
Including the Trait
<?php namespace App; use Artisanry\Picible\Contracts\Picible as PicibleContract; use Artisanry\Picible\Traits\PicibleTrait; class User extends Model implements PicibleContract { use PicibleTrait; }
Example
<?php namespace App\Http\Controllers; use App\User; use Artisanry\Picible\PicibleService as Picible; use Illuminate\Http\Request; class PicibleController extends Controller { public function index(Request $request, Picible $picible) { // Load the model the picture will be attached to $user = User::find(1); // The picture that should be uploaded $file = $request->files->all()['picture']; // Upload the picture and create a database record $picture = $picible->withFile($file) ->withModel($user) ->withAttributes(['slot' => 'trailer']) ->withFilters(['watermark']) ->commit(true); // Get the shareable url of the created picture $picture = $picible->withFilters(['watermark']) ->getShareableLink($picture); // Display the shareable url echo($picture); } }
Testing
$ phpunit
Security
If you discover a security vulnerability within this package, please send an e-mail to hello@basecode.sh. All security vulnerabilities will be promptly addressed.
Credits
This project exists thanks to all the people who contribute.
License
Mozilla Public License Version 2.0 (MPL-2.0).