dynamikasolucoesweb / laravel-youtube
Uma biblioteca leve e eficiente para Laravel que facilita a validação de URLs do YouTube e a renderização de componentes de vídeo (Embeds) em suas views Blade.
Package info
github.com/dynamikaweb/laravel-youtube
pkg:composer/dynamikasolucoesweb/laravel-youtube
Requires
- php: >=8.2
- illuminate/support: ^10.0|^11.0|^12.0
- illuminate/view: ^10.0|^11.0|^12.0
README
Uma biblioteca leve e eficiente para Laravel 12 que facilita a validação de URLs do YouTube e a renderização de componentes de vídeo (Embeds) em suas views Blade.
Instalação
A maneira preferida de instalar esta extensão é através do [composer] composer.
Ou corre
$ composer require dynamikasolucoesweb/laravel-youtube "*"
ou adicione
"dynamikasolucoesweb/laravel-youtube": "*"
à seção require do seu arquivo composer.json.
Uso
O pacote registra o componente . Ele processa automaticamente URLs curtas (youtu.be), URLs padrão com parâmetros (watch?v=) e URLs de embed, extraindo o ID único do vídeo.
Exemplo Básico:
- Personalizando Atributos: Você pode passar um array :options para definir atributos HTML customizados (como width, height, class, id, etc).
<x-youtube :url="$model->link" :options="[ 'width' => '100%', 'height' => '500', 'class' => 'rounded-lg shadow-xl' ]" />
- Validação de URLs Para garantir que os dados recebidos em seus formulários sejam links válidos do YouTube, utilize a regra de validação YoutubeUrl.
use dynamikasolucoesweb\Youtube\Rules\YoutubeUrl; public function rules(): array { return [ 'link_youtube' => ['nullable', 'string', new YoutubeUrl], ]; }
Features
Auto-Parsing: Detecta e limpa IDs de vídeo de quase qualquer formato de link do YouTube.
Segurança Nativa: Gera embeds com políticas de permissão modernas (accelerometer, autoplay, clipboard-write, etc).
Validação Robusta: Regra de validação via Regex para impedir a entrada de URLs malformadas ou de outros serviços.
Blade Integration: Uso nativo via tags de componente, seguindo o padrão moderno do Laravel.
Authors
Giordani da Silveira dos Santos - giordani@dynamika.com.br
This project is under BSD-3-Clause license.