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