O solutie usoara pentru a atasa fisiere la modelele dvs. elocvente, cu manipulare a imaginii incorporata!

Instalare

Puteti instala pachetul prin intermediul compozitorului:

compozitorul necesita optix / media

Odata instalat, ar trebui sa publicati activele furnizate pentru a crea fisierele de migrare si configurare necesare.

php artisan vendor: publish –provider = “Optix \ Media \ MediaServiceProvider”

Concepte cheie

Exista cateva concepte cheie care ar trebui intelese inainte de a continua:

  • Media poate fi orice tip de fisier, de la un jpeg la un fisier zip. Inainte de a incerca sa incarcati un fisier, trebuie sa specificati restrictiile fisierului in logica de validare a aplicatiei.

  • Media este incarcata ca entitate proprie. Nu apartine altui model din sistem atunci cand este creat, astfel incat articolele pot fi gestionate independent (ceea ce il face motorul perfect pentru un manager media).

  • Suportul trebuie atasat la un model pentru realizarea unei asociatii.

  • Articolele media sunt legate de „grupuri”. Acest lucru face usoara asocierea mai multor tipuri de suport media unui model. De exemplu, un model ar putea avea un grup „imagini” si un grup „documente”.

  • Puteti manipula imagini folosind conversii. Puteti specifica conversiile care trebuie efectuate atunci cand un element media este asociat unui model. De exemplu, puteti inregistra o conversie „miniatura” pentru a rula atunci cand imaginile sunt atasate la grupul „galerie” al unui model.

  • Conversiile sunt inregistrate la nivel global. Aceasta inseamna ca pot fi refolosite in aplicatia dvs., adica o postare si un utilizator pot avea miniaturi de aceeasi dimensiune fara a fi nevoie sa inregistrati aceeasi conversie de doua ori.

Utilizare

Incarcati continut media

Ar trebui sa utilizati clasa Optix \ Media \ MediaUploader pentru a gestiona incarcarile de fisiere.

In mod implicit, aceasta clasa va actualiza fisierele pe discul specificat in configuratia media.

videos pornos de abuelas videos putas maduras
sex porne coños de viejas
porno casero en españa porno madres peludas
sexo casero españa porno traducido español
pornotrans como folla mi mujer
incesto ruso hentaihd
maduras españolas camara oculta madura cabalgando
españolas amater paja en el coche
incesto lesbianas videosgays
videos porno gay de españoles caras llenas de semen
videos chicas gratis folladas extremas
cerdas com gratis porno casero real español
mamada de rodillas orgia bisexual
video sexo gratis tetudas españolas
porno andaluz porno torrent magnet
mi primera follada videos de chicas gratis
abuelas españolas xxx parejas pilladas en la calle
miakalifa maduras por dinero
cartoon xxx www rubias
como folla mi mujer tetudas jovenes

Ii salveaza ca o versiune dezinfectata a numelui original al fisierului si creeaza o inregistrare media in baza de date cu detaliile fisierului.

De asemenea, puteti personaliza anumite proprietati ale fisierului inainte de a fi incarcat.

$ file = $ request-> file (‘fisier’); // Utilizare implicita $ media = MediaUploader :: fromFile ($ fisier) -> upload (); // Utilizare personalizata $ media = MediaUploader :: fromFile ($ fisier) -> useFileName (‘nume-fisier personalizat.jpeg’) -> useName (‘Numele media personalizat’) -> upload ();

Asociati mass-media cu un model

Pentru a asocia un element media cu un model, trebuie mai intai sa includeti trasatura Optix \ Media \ HasMedia.

clasa Post extinde Model {use HasMedia; }

Aceasta trasatura va configura relatia dintre modelul dvs. si modelul media. Scopul sau principal este de a oferi un API fluent pentru atasarea si recuperarea suporturilor media.

Odata inclus, puteti atasa suporturi media la model, dupa cum se arata mai jos. Primul parametru al metodei atasarii media poate fi fie o instanta de model media, un id sau o lista iterabila de modele / id-uri.

$ post = Post :: first (); // La grupul implicit $ post-> attachMedia ($ media); // La un grup personalizat $ post-> attachMedia ($ media, „grup personalizat”);

Deconectati mass-media de un model

Pentru a disocia media de la un model, trebuie sa apelati metoda detachMedia furnizata.

// Desprindeti toate media $ post-> detachMedia (); // Desprindeti media specificata $ post-> detachMedia ($ media); // Desprindeti toate mediile dintr-un grup $ post-> clearMediaGroup („grupul dvs.”);

Daca doriti sa stergeti un element media, ar trebui sa procedati la fel ca in cazul oricarui alt model din aplicatia dvs.

Media :: first () -> delete ();

Acest lucru va sterge fisierul din sistemul de fisiere si va elimina, de asemenea, orice asociere intre elementul media si modelele aplicatiei dvs.

Recuperati continut media

O alta caracteristica a trasaturii HasMedia este capacitatea de a prelua mass-media.

// Toate media din grupul implicit $ post-> getMedia (); // Toate mediile dintr-un grup personalizat $ post-> getMedia (‘grup personalizat’); // Primul element media din grupul implicit $ post-> getFirstMedia (); // Primul element media dintr-un grup personalizat $ post-> getFirstMedia („grup personalizat”);

Pe langa preluarea articolelor media, puteti prelua atribute ale modelului media direct din modelul dvs.

// Adresa URL a primului element media din grupul implicit $ post-> getFirstMediaUrl (); // Adresa URL a primului element media dintr-un grup personalizat $ post-> getFirstMediaUrl (‘grup personalizat’);

Manipulati imagini

Acest pachet ofera un API fluent pentru a manipula imaginile. Puteti specifica un model pentru a efectua „conversii” atunci cand media este atasata unui grup. Acesta foloseste biblioteca familiara de interventie / imagine de sub capota, astfel incat imaginile pot fi manipulate folosind toate optiunile furnizate de biblioteca.

Pentru a incepe, ar trebui sa inregistrati mai intai o conversie la unul dintre furnizorii de servicii ai aplicatiei dvs.:

utilizati Interventie \ Imagine \ Imagine; utilizati Optix \ Media \ Fatade \ Conversie; clasa AppServiceProvider extinde ServiceProvider {boot functie publica () {Conversie :: registru (‘thumb’, functie (Image $ image) {return $ image-> fit (64, 64);}); }}

Dupa ce ati inregistrat o conversie, ar trebui sa configurati un grup media pentru a efectua conversia atunci cand media este atasata la modelul dvs.

clasa Post extinde Model {use HasMedia; functie publica registerMediaGroups () {$ this-> addMediaGroup (‘gallery’) -> performConversions (‘thumb’); }}

Acum, cand un element media este atasat la grupul „galerie”, va fi generata o imagine convertita. Puteti obtine adresa URL a imaginii convertite, dupa cum se arata mai jos:

// Miniatura primei imagini din grupul galeriei $ post-> getFirstMediaUrl („galerie”, „deget mare”);

De ce sa folositi acest pachet?

Exista deja pachete care exista pentru a rezolva o problema similara cu cea pe care acest pachet a fost construit pentru a o realiza.

Cele mai populare dintre care sunt:

  • Spatie’s Laravel MediaLibrary
  • Plank’s Laravel Mediable

Exista cateva diferente cheie intre acest pachet si cele enumerate mai sus. Pachetul nostru a fost construit pentru a alimenta managerii media si pentru a facilita efectuarea manipularilor imaginilor. Acest lucru este mai bine reprezentat de tabelul de comparatie de mai jos:

Comparatie Spatie Plank Optix Tip de relatie De la unu la multi Multi la multi Multi la multi Ofera manipulare a imaginii Da Nu Da Definitie a manipularilor specifice unui model – Registr global

Licenta

Licenta MIT (MIT). Va rugam sa consultati fisierul de licenta pentru mai multe informatii.