Neste artigo vou apresentar uma ferramenta poderosa, incrivelmente fรกcil de usar e como ela pode deixar seu desenvolvimento web muito mais rรกpido e eficiente com apenas alguns comandos. Com ela, vocรช consegue montar seu projeto completo, com uma interface linda e intuitiva dentro de pouquรญssimo tempo. Vamos lรก?
ย
Tรณpicos
- O que รฉ o FilamentPHP?
- Quais as vantagens de usar FilamentPHP?
- O que preciso para usar FilamentPHP?
- Instalando o Filament
- Demonstraรงรฃo de uso do FilamentPHP na prรกtica
- Conclusรฃo
- Referรชncias
ย
O que รฉ o FilamentPHP?
O FilamentPHP รฉ uma ferramenta para desenvolvimento web full-stack, tambรฉm chamada de TALLkit, pois reรบne os 4 cavaleiros da TALLStack (Tailwind, Alpine.js, Laravel, Livewire).
Com uma documentaรงรฃo rica e clara, usar os recursos do Filament nรฃo tem nenhum segredo, vocรช consegue implementar cada um deles no seu projeto sem muito esforรงo, sendo assim, um grande aliado da produtividade, tudo isso com uma interface bonita e intuitiva que vocรช pode moldar da forma como preferir.
O Filament na versรฃo atual (v3.2) conta com 8 mรณdulos pra vocรช usar, sรฃo eles: Panel Builder, Form Builder, Table Builder, Notifications, Actions, Widgets, Infolist Builder e Core Concepts, cada um deles com suas respectivas funcionalidades.
ย
Quais as vantagens de usar FilamentPHP?
Facilidade: Usando o FilamentPHP vocรช vรช vรกrias linhas de cรณdigo se tornarem uma sรณ. Vocรช consegue implementar facilmente recursos como filtros e campos de buscas em segundos. Basta um comando e o Filament consegue montar seu formulรกrio prontinho sรณ pra vocรช moldar como quiser.
Desacoplamento: Os mรณdulos do Filament tambรฉm podem ser utilizados de forma independente, sem a necessidade da instalaรงรฃo de todo seu ecossistema. Entรฃo, se vocรช quiser usar sรณ o Form Builder ou o Table Builder, vocรช pode instalรก-los sem precisar instalar todo o restante.
Produtividade: Com as vรกrias facilidades que essa ferramenta oferece, o seu desenvolvimento fica muito mais rรกpido, uma funรงรฃo que vocรช normalmente demoraria umas horas pra fazer pode durar apenas minutos.
Customizรกvel: Afinal, quem tem limite รฉ estado, nรฃo รฉ mesmo? Apesar de o foco do Filament ser em painรฉis administrativos, vocรช pode utilizรก-lo tambรฉm para criar sites por exemplo, com ele vocรช รฉ livre pra usar sua imaginaรงรฃo.
Open-source: Isso mesmo, lรก no Github vocรช pode clonar o repositรณrio do Filament e adicionar sua contribuiรงรฃo. No prรณprio readme do projeto vocรช encontra orientaรงรตes de como rodar o projeto na sua mรกquina.
Gratuito: Nรฃo podemos esquecer o melhor de tudo nรฉ? O FilamentPHP รฉ totalmente gratuito.
ย
O que preciso para usar FilamentPHP?
Para usar FilamentPHP vocรช precisa ter os seguintes requisitos :
- PHP 8.1+
- Laravel v10.0+
- Livewire v3.0+
Esses requisitos valem para o FilamentPHP v3.2, vocรช pode ver os requisitos para as outras versรตes visitando a aba de Instalaรงรฃo lรก dentro da documentaรงรฃo. ร recomendado o uso da versรฃo mais atual, pois ela veio com muito mais recursos que as anteriores e de forma ainda mais simplificada, porรฉm, se vocรช optar por uma versรฃo mais baixa, saiba que alguns recursos podem nรฃo estar presentes ou mudaram a forma de implementaรงรฃo.
Para o desenvolvimento em Filament, รฉ muito importante que vocรช tenha uma boa noรงรฃo de PHP + Laravel, pois assim alรฉm de a ferramenta ser melhor aproveitada, entendendo isso, vocรช pode desacoplar as funcionalidades com mais facilidade, assim usufruindo de todas as vantagens de utilizรก-lo.
ย
Instalando o Filament
Para instalar o FilamentPHP, dentro do seu projeto Laravel rode o seguinte comando:
composer require filament/filament:"^3.2" -Wย
Depois disso, rode o comando a seguir. Este vai instalar o Painel:
php artisan filament:install --panels
E por รบltimo, para criar seu usuรกrio do painel, utilize o comando:
php artisan make:filament-user
E pronto, agora vocรช jรก pode acessar seu painel Filament, basta rodar um php artisan serve e acessar a URL localhost:8000/admin e logar com o e-mail e senha do usuรกrio que vocรช criou.
ย
Demonstraรงรฃo de uso do FilamentPHP na prรกtica
No vรญdeo acima, eu demonstro a criaรงรฃo de uma resource utilizando Filament. A resource jรก vem com o CRUD completo e funcional, com seu formulรกrio e sua tabela jรก montados.
Para criar essa resource eu sigo os seguintes passos:
Primeiro, antes de criar a resource vocรช precisarรก somente de 3 coisas
- A sua tabela no banco de dados do seu projeto Laravel deve estar criada.
- No seu Model, a sua variavel
$fillabledeve conter todos os campos existentes na sua tabela. - E obviamente, ter o FilamentPHP instalado no seu projeto. (Passo a passo no tรณpico anterior).
Vocรช pode facilmente fazer isso da seguinte forma:
Use o comando abaixo com o nome do Model que vocรช desejar (no caso o nome do meu Model รฉ Product) com a flag -m para que a migration jรก seja criada junto:
php artisan make:model Product -m
Na Migration que vocรช acabou de criar, coloque os campos que vocรช desejar adicionar na sua tabela, ela deve ficar mais ou menos assim:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('products', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->longText('description');
$table->decimal('price', 8, 2);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('products');
}
};
Depois de adicionar seus campos, rode um php artisan migrate para que seja criada a tabela no seu banco de dados.
Apรณs criada a tabela, declare os campos da sua tabela na variรกvel $fillable dentro do seu Model como no exemplo abaixo:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
use HasFactory;
protected $fillable = [
'name',
'description',
'price',
];
}
E pronto, agora รฉ sรณ correr pro abraรงo! Para criar sua resource, vocรช sรณ vai precisar do seguinte comando (onde Product รฉ o nome do seu Model):
php artisan make:filament-resource Product --generate --view
// A flag --generate vai gerar seu formulรกrio
// A flag --view vai criar a pรกgina de visualizaรงรฃo
// Vocรช pode ainda utilizar a flag --simple para que sua
// resource seja baseada em modais, isso tudo ta explicado
// direitinho na documentaรงรฃo
ย
Conclusรฃo
Vocรช pode ter um gostinho das funcionalidades do FilamentPHP visitando a demo, lรก mostra de forma prรกtica um exemplo de como os componentes podem ser utilizados e organizados em tela no seu projeto. O Filament tambรฉm tem uma comunidade no Discord que estรก sempre pronta pra te ajudar e tirar suas dรบvidas.
Alรฉm disso, reza a lenda que a versรฃo 4 vem ainda esse ano com ainda mais novidades.
"Ah mas vocรช ta fazendo propaganda do negรณcio", acho que o que รฉ bom tem ser mostrado nรฉ pessoal.
Eai, vamos pro Filament?
ย
Referรชncias
ย
Meus agradecimentos a @cherryramatis,@clintonrocha98 e @redrodrigoc pelas dicas e sugestรตes para este artigo, vocรชs sรฃo demais ๐


Top comments (30)
Olรก, Adrianne
Talvรฉs me possas ajudar....
Tenho um projecto desenvolvido com laravel 10 e usa o filament para gerenciar o conteรบdo. Acontece que, localmente, consigo acessar o painel sem problemas mas, em procuรงรฃo, retorna erro:
Primeiro apresentou o erro 403 que foi superdado com as configuraรงรฃo do livewire... agora estรก a retornar o erro 500 (erro de servidor).
Alguma idรฉia a respeito?
Oii zangui, desculpe a demora na resposta, vocรช conseguiu resolver seu problema?
Incrivel material inicial! Estou super ansiosa para mais detalhes sobre o filament, nรฃo estou inserida na comunidade PHP mas estou suuuuper curiosa para saber mais sobre esse framework. Talvez vou construir algumas coisinhas com laravel ๐
Obrigada viu, รฉ o primeirรญssimo de muitos. ๐
Parabรฉns pelo conteรบdo, รณtimas explicaรงรตes!!!๐
Obrigada Clinton, seus artigos tambรฉm sรฃo maravilhosos viu ๐
Belรญssimo artigo, muito bem estruturado, explicado e detalhado!
Parabรฉns pelo conteรบdo! =)
Muito obrigada Teacher ๐
eu tรด recรฉm chegando no mundo PHP e achei isso aqui muito massa!
Que bom que gostou viu
ร muito gostosinho de usar โบ๏ธ
Parabรฉns pelo conteรบdo, muito bem explicado os conceitos bases.
Muito obrigada ๐
Filament รฉ algo que eu sempre uso nos meus projetos e nunca me arrependo.
Algum dia eu ainda viro um mestre igual a vocรช na ferramente :p
Ah que modestia, vocรช deve ser tรฃo bom quanto, atรฉ mais. ๐คญ
Uso muito o Filament e jรก tenho vรกrios projetos em produรงรฃo com ele, de longe uma das melhores ferramentas que me apresentaram.
Filament รฉ sempre bom nos projetos, ainda mais nos meus, belo conteรบdoโค๏ธ
Muito obrigada Gui ๐
Excelente artigo!! Muito bem explicado!
Muito obrigada ๐ฅฐ๐ฅน๐
Muito bom!!
Muito obrigada Marlon ๐ฅฐ
Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more