PHP code example of fomvasss / laravel-medialibrary-extension
1. Go to this page and download the library: Download fomvasss/laravel-medialibrary-extension library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
fomvasss / laravel-medialibrary-extension example snippets
//...
'MediaManager' => \Fomvasss\MediaLibraryExtension\Facade::class,
//...
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\Models\Media;
use Fomvasss\MediaLibraryExtension\HasMedia\HasMedia;
use Fomvasss\MediaLibraryExtension\HasMedia\InteractsWithMedia;
class Article extends Model implements HasMedia
{
use InteractsWithMedia;
// html-input name == media collection name, example:
protected $mediaSingleCollections = ['image'];
protected $mediaMultipleCollections = ['images', 'files'];
/**
* Optional method.
*/
public function customMediaConversions(Media $media = null): void
{
$this->addMediaCollection('main')
->singleFile();
$this->addMediaConversion('table')
->format('jpg')->quality(93)
->fit('crop', 360, 257);
}
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HomeController extends Controller
{
public function store(PostRequest $request)
{
$article = Article::create($request->validated());
$article->mediaManage($request);
// Or usage Facade:
\MediaLibrary::manage($article, $request);
//...
}
public function show($id)
{
$article = \App\Model\Article::findOrFail($id);
$url = $article->getFirstMediaUrl('image');
$image = $article->getFirstMedia('image');
$alt = $image->getCustomProperty('alt');
$images = $article->getMedia('images'); // collection
// ...
// Also available all methods spatie/laravel-medialibrary!
}
}
bash
php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="medialibrary-migrations"
php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="medialibrary-config"
bash
php artisan vendor:publish --provider="Fomvasss\MediaLibraryExtension\ServiceProvider"
bash
php artisan migrate