DEV Community

Cover image for Apa itu Laravel Filament?
Muhammad Mahib Arib
Muhammad Mahib Arib

Posted on

2

Apa itu Laravel Filament?

Laravel Filament adalah package yang dirancang khusus untuk Laravel, yang memungkinkan developer untuk membuat dashboard dan panel admin dengan cepat dan mudah dengan menyediakan komponen-komponen siap pakai yang bisa langsung digunakan.

Instalasi Laravel Filament

Pertama, Anda perlu menginstal Laravel Filament pada proyek Laravel. Anda bisa melakukannya dengan perintah composer require filament/filament.

Setelah itu jalankan perintah berikut untuk membuat konfigurasi filament menjadi publik php artisan vendor:publish --tag=filament-config.

Lalu install Filament Panel Builder dengan menjalankan perintah php artisan filament:install --panels.

Buat akun admin pertama Anda dengan menjalankan perintah php artisan filament:user dan ikuti petunjuknya untuk memasukkan email dan kata sandi Anda.

Jalankan server dan akses url http://localhost:8000/admin/login. Anda juga bisa mengubah pada file web.php agar ketika mengakses url http://localhost:8000 langsung meredirect ke url http://localhost:8000/admin/login seperti berikut.



Route::get('/', function () {
    return redirect()->route('filament.admin.auth.login');
});


Enter fullscreen mode Exit fullscreen mode

Login Page

Silahkan login dengan email dan password yang sudah dibuat tadi.

Dashboard

Membuat Resource CRUD

Laravel Filament menyediakan generator CRUD yang memudahkan pembuatan operasi Create, Read, Update, dan Delete untuk model tertentu. Misalnya, Anda ingin membuat CRUD untuk model Category. Anda bisa menjalankan perintah php artisan make:filament-resource Category.

Perintah tersebut akan menghasilkan beberapa file, yaitu:



-- CategoryResources.php
-- CategoryResource
   -- Pages
      -- CreateCategory.php
      -- EditCategory.php
      -- ListCategory.php


Enter fullscreen mode Exit fullscreen mode

Jika Anda lihat pada sidebar terdapat menu navigasi baru yaitu Categories. Jika Anda ingin mengganti nama menu tersebut, buka file CategoryResources.php dan tambahkan code berikut.



protected static ?string $navigationLabel = 'Manage Category';


Enter fullscreen mode Exit fullscreen mode

Dashboard

Mengatur Resource

Setelah resource dibuat, Anda bisa mengatur kolom apa saja yang ingin ditampilkan.



public static function table(Table $table): Table
    {
        return $table
            ->columns([
                Tables\Columns\TextColumn::make('code'),
                Tables\Columns\TextColumn::make('name'),
                Tables\Columns\ImageColumn::make('image')->disk('public'),
            ])
            ->filters([
                //
            ])
            ->actions([
                Tables\Actions\EditAction::make(),
            ])
            ->bulkActions([
                Tables\Actions\BulkActionGroup::make([
                    Tables\Actions\DeleteBulkAction::make(),
                ]),
            ]);
    }


Enter fullscreen mode Exit fullscreen mode

Table

Menggunakan Form Builder

Selain menampilkan data, Anda juga bisa membuat formulir untuk menambah atau mengedit category. Filament menyediakan Form Builder yang memudahkan pembuatan formulir ini.



public static function form(Form $form): Form
    {
        return $form
            ->schema([
                Forms\Components\TextInput::make(name: 'code')->required()->unique(table: Category::class),
                Forms\Components\TextInput::make(name: 'name')->required(),
                Forms\Components\FileUpload::make('image')->disk('public')->required()
            ]);
    }


Enter fullscreen mode Exit fullscreen mode

Form

Image of Datadog

The Future of AI, LLMs, and Observability on Google Cloud

Datadog sat down with Google’s Director of AI to discuss the current and future states of AI, ML, and LLMs on Google Cloud. Discover 7 key insights for technical leaders, covering everything from upskilling teams to observability best practices

Learn More

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more