Laravel은 웹 애플리케이션 개발을 위한 견고한 기반을 제공하는 강력한 PHP 프레임워크입니다. Filament는 관리 인터페이스 생성을 단순화하는 Laravel용 오픈 소스의 우아한 관리 패널이자 양식 작성 도구입니다. 이 가이드는 최신 버전의 Filament 및 Laravel을 사용하여 강력한 관리 패널을 구축하는 과정을 안내합니다.
Laravel SaaS Starter - 몇 주가 아닌 하루 만에 다음 SaaS를 시작하세요
몇 주가 아닌 단 하루 만에 다음 Laravel Saas 프로젝트를 시작해보세요! 모든 SaaS에 필요한 기능이 이미 구축되어 있습니다
www.laravelsaas.store
전제조건
시작하기 전에 개발 시스템에 다음이 설치되어 있는지 확인하세요.
PHP >= 8.0
작곡가
Node.js와 NPM
MySQL 또는 Laravel이 지원하는 기타 데이터베이스
1단계: 새로운 Laravel 프로젝트 설정
먼저 Composer를 사용하여 새 Laravel 프로젝트를 만듭니다.
composer create-project --prefer-dist laravel/laravel filament-admin cd filament-admin
다음으로 환경 변수를 설정합니다. .env.example 파일의 이름을 .env로 바꾸고 자격 증명으로 데이터베이스 구성을 업데이트합니다.
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=filament_db DB_USERNAME=root DB_PASSWORD=your_password
다음 명령을 실행하여 애플리케이션 키를 생성하고 기본 Laravel 테이블을 마이그레이션하세요.
php artisan key:generate php artisan migrate
2단계: 필라멘트 설치
Filament를 설치하려면 Composer를 사용하세요.
composer require filament/filament
다음으로 필라멘트 자산 및 구성을 게시합니다.
php artisan filament:install
3단계: 인증 설정
Filament는 관리자 패널에 대한 액세스를 관리하려면 인증이 필요합니다. Laravel은 내장된 인증 스캐폴딩을 제공합니다. 단순화를 위해 Laravel Breeze를 사용해 보겠습니다.
composer require laravel/breeze --dev php artisan breeze:install
안내에 따라 선호하는 프런트엔드 옵션(Blade, Vue, React)을 선택하세요. 이 예에서는 Blade:
를 사용합니다.
php artisan migrate npm install npm run dev
로그인할 사용자가 있는지 확인하세요. Laravel Tinker를 사용하여 하나를 만들 수 있습니다:
php artisan tinker >>> \App\Models\User::factory()->create(['email' => 'admin@example.com']);
4단계: 필라멘트 구성
역할이나 권한을 사용하는 경우 Filament HasFilamentRoles 계약을 구현하려면 사용자 모델을 업데이트하세요. 지금은 인증된 모든 사용자가 Filament에 액세스할 수 있도록 보장하겠습니다.
In app/Providers/FilamentServiceProvider.php, define the authorization logic: use Filament\Facades\Filament; public function boot() { Filament::serving(function () { Filament::registerUserMenuItems([ 'account' => MenuItem::make() ->label('My Account') ->url(route('filament.resources.users.edit', ['record' => auth()->user()])) ->icon('heroicon-o-user'), ]); }); Filament::registerPages([ // Register your custom pages here ]); Filament::registerResources([ // Register your custom resources here ]); } protected function gate() { Gate::define('viewFilament', function ($user) { return in_array($user->email, [ 'admin@example.com', ]); }); }
5단계: 리소스 생성
필라멘트 리소스는 CRUD 인터페이스를 갖춘 Eloquent 모델입니다. Post 모델을 관리하기 위한 리소스를 만들어 보겠습니다.
모델, 마이그레이션 및 팩토리 생성:
php artisan make:model Post -mf
이전 파일의 필드 정의:
public function up() { Schema::create('posts', function (Blueprint $table) { $table->id(); $table->string('title'); $table->text('content'); $table->timestamps(); }); }
마이그레이션 실행:
php artisan migrate
다음으로 필라멘트 리소스를 생성합니다.
php artisan make:filament-resource Post
이 명령은 리소스에 필요한 파일을 생성합니다. app/Filament/Resources/PostResource.php를 열고 리소스 필드를 정의합니다:
use Filament\Resources\Pages\Page; use Filament\Resources\Pages\CreateRecord; use Filament\Resources\Pages\EditRecord; use Filament\Resources\Pages\ListRecords; use Filament\Resources\Forms; use Filament\Resources\Tables; use Filament\Resources\Forms\Components\TextInput; use Filament\Resources\Forms\Components\Textarea; use Filament\Resources\Tables\Columns\TextColumn; class PostResource extends Resource { protected static ?string $model = Post::class; protected static ?string $navigationIcon = 'heroicon-o-collection'; public static function form(Form $form): Form { return $form ->schema([ TextInput::make('title') ->required() ->maxLength(255), Textarea::make('content') ->required(), ]); } public static function table(Table $table): Table { return $table ->columns([ TextColumn::make('title'), TextColumn::make('content') ->limit(50), TextColumn::make('created_at') ->dateTime(), ]); } public static function getPages(): array { return [ 'index' => Pages\ListRecords::route('/'), 'create' => Pages\CreateRecord::route('/create'), 'edit' => Pages\EditRecord::route('/{record}/edit'), ]; } }
6단계: 내비게이션 추가
필라멘트 사이드바에 리소스를 추가하세요. app/Providers/FilamentServiceProvider.php를 열고 리소스를 등록합니다:
use App\Filament\Resources\PostResource; public function register() { Filament::registerResources([ PostResource::class, ]); }
7단계: 필라멘트 맞춤화
필라멘트는 고도로 맞춤화 가능합니다. 테마, 구성 요소 등을 변경할 수 있습니다. 예를 들어 기본 색상을 사용자 정의하려면 config/filament.php 파일을 업데이트하세요.
'brand' => [ 'primary' => '#1d4ed8', ],
Filament Documentation 문서에 따라 사용자 정의 페이지, 위젯 및 양식 구성 요소를 만들 수도 있습니다.
Laravel SaaS Starter - 몇 주가 아닌 하루 만에 다음 SaaS를 시작하세요
몇 주가 아닌 단 하루 만에 다음 Laravel Saas 프로젝트를 시작해보세요! 모든 SaaS에 필요한 기능이 이미 구축되어 있습니다
www.laravelsaas.store
결론
이 가이드에서는 새로운 Laravel 프로젝트 설정, Filament 설치, 인증 설정, 리소스 생성, Filament 관리 패널 사용자 정의 등을 살펴보았습니다. 이는 Filament와 Laravel을 사용하여 강력한 관리 패널을 구축하기 위한 견고한 기반을 제공합니다. 더 많은 고급 기능과 사용자 정의를 보려면 공식 문서를 참조하고 Filament의 기능을 살펴보세요.
즐거운 코딩하세요!
위 내용은 Filament와 Laravel을 사용하여 강력한 관리 패널 구축: 단계별 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!