"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > फिलामेंट और लारवेल के साथ मजबूत एडमिन पैनल का निर्माण: एक चरण-दर-चरण मार्गदर्शिका

फिलामेंट और लारवेल के साथ मजबूत एडमिन पैनल का निर्माण: एक चरण-दर-चरण मार्गदर्शिका

2024-11-08 को प्रकाशित
ब्राउज़ करें:708

Building Robust Admin Panels with Filament and Laravel: A Step-by-Step Guide

लारवेल एक शक्तिशाली PHP फ्रेमवर्क है जो वेब एप्लिकेशन विकसित करने के लिए एक ठोस आधार प्रदान करता है। फिलामेंट लारवेल के लिए एक ओपन-सोर्स, शानदार एडमिन पैनल और फॉर्म बिल्डर है जो एडमिन इंटरफेस बनाने को सरल बनाता है। यह मार्गदर्शिका आपको फिलामेंट और लारवेल के नवीनतम संस्करणों का उपयोग करके एक मजबूत व्यवस्थापक पैनल बनाने में मार्गदर्शन करेगी।

लारवेल सास स्टार्टर - अपना अगला सास एक दिन में शुरू करें, हफ्तों में नहीं
अपने अगले लारवेल सास प्रोजेक्ट को हफ्तों में नहीं, केवल एक दिन में शुरू करें! पहले से ही निर्मित सुविधाओं के साथ हर सास की जरूरत है
www.laravelsaas.store

आवश्यकताएँ
शुरू करने से पहले, सुनिश्चित करें कि आपने अपनी विकास मशीन पर निम्नलिखित स्थापित कर लिया है:

PHP >= 8.0
संगीतकार
Node.js और NPM
MySQL या Laravel द्वारा समर्थित कोई अन्य डेटाबेस

चरण 1: एक नया लारवेल प्रोजेक्ट स्थापित करना

सबसे पहले, कंपोज़र का उपयोग करके एक नया लारवेल प्रोजेक्ट बनाएं:

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

एप्लिकेशन कुंजी उत्पन्न करने और डिफ़ॉल्ट लारवेल तालिकाओं को माइग्रेट करने के लिए निम्न कमांड चलाएँ:

php artisan key:generate
php artisan migrate

चरण 2: फिलामेंट स्थापित करना

फिलामेंट स्थापित करने के लिए, संगीतकार का उपयोग करें:

composer require filament/filament

इसके बाद, फिलामेंट संपत्ति और कॉन्फ़िगरेशन प्रकाशित करें:

php artisan filament:install

चरण 3: प्रमाणीकरण स्थापित करना

फ़िलामेंट को व्यवस्थापक पैनल तक पहुंच प्रबंधित करने के लिए प्रमाणीकरण की आवश्यकता होती है। लारवेल अंतर्निहित प्रमाणीकरण मचान प्रदान करता है। आइए सरलता के लिए लारवेल ब्रीज़ का उपयोग करें:

composer require laravel/breeze --dev
php artisan breeze:install

अपना पसंदीदा फ्रंटएंड विकल्प (ब्लेड, व्यू, रिएक्ट) चुनने के लिए संकेतों का पालन करें। इस उदाहरण के लिए, हम ब्लेड का उपयोग करेंगे:

php artisan migrate
npm install
npm run dev

सुनिश्चित करें कि आपके पास लॉग इन करने के लिए एक उपयोगकर्ता है। आप इसे बनाने के लिए लारवेल टिंकर का उपयोग कर सकते हैं:

php artisan tinker

>>> \App\Models\User::factory()->create(['email' => '[email protected]']);

चरण 4: फिलामेंट को कॉन्फ़िगर करना

यदि आप भूमिकाओं या अनुमतियों का उपयोग कर रहे हैं तो फिलामेंट हैसफिलामेंटरोल्स अनुबंध को लागू करने के लिए उपयोगकर्ता मॉडल को अपडेट करें। अभी के लिए, हम यह सुनिश्चित करेंगे कि कोई भी प्रमाणित उपयोगकर्ता फिलामेंट तक पहुंच सके।

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, [
            '[email protected]',
        ]);
    });
}

चरण 5: संसाधन बनाना

फिलामेंट संसाधन सीआरयूडी इंटरफेस के साथ वाक्पटु मॉडल हैं। आइए एक पोस्ट मॉडल के प्रबंधन के लिए एक संसाधन बनाएं।

मॉडल, माइग्रेशन और फ़ैक्टरी उत्पन्न करें:

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

यह कमांड संसाधन के लिए आवश्यक फ़ाइलें बनाता है। ऐप/फिलामेंट/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: नेविगेशन जोड़ना

संसाधन को फिलामेंट साइडबार में जोड़ें। ऐप/प्रदाता/फिलामेंटसर्विसप्रोवाइडर.php खोलें और संसाधन पंजीकृत करें:

use App\Filament\Resources\PostResource;

public function register()
{
    Filament::registerResources([
        PostResource::class,
    ]);
}

चरण 7: फिलामेंट को अनुकूलित करना

फिलामेंट अत्यधिक अनुकूलन योग्य है। आप थीम, घटक और बहुत कुछ बदल सकते हैं। उदाहरण के लिए, प्राथमिक रंग को अनुकूलित करने के लिए, config/filament.php फ़ाइल को अपडेट करें:

'brand' => [
    'primary' => '#1d4ed8',
],

आप दस्तावेज़ीकरण का पालन करके कस्टम पेज, विजेट और फॉर्म घटक भी बना सकते हैं: फिलामेंट दस्तावेज़ीकरण।

लारवेल सास स्टार्टर - अपना अगला सास एक दिन में शुरू करें, हफ्तों में नहीं
अपने अगले लारवेल सास प्रोजेक्ट को हफ्तों में नहीं, केवल एक दिन में शुरू करें! पहले से ही निर्मित सुविधाओं के साथ हर सास की जरूरत है
www.laravelsaas.store

निष्कर्ष

इस गाइड में, हमने एक नया लारवेल प्रोजेक्ट स्थापित करने, फिलामेंट स्थापित करने, प्रमाणीकरण स्थापित करने, संसाधन बनाने और फिलामेंट एडमिन पैनल को कस्टमाइज़ करने के बारे में बताया है। इससे आपको फिलामेंट और लारवेल का उपयोग करके मजबूत व्यवस्थापक पैनल बनाने के लिए एक ठोस आधार मिलना चाहिए। अधिक उन्नत सुविधाओं और अनुकूलन के लिए, आधिकारिक दस्तावेज़ देखें और फिलामेंट की क्षमताओं का पता लगाएं।

हैप्पी कोडिंग!

विज्ञप्ति वक्तव्य इस लेख को पुन: प्रस्तुत किया गया है: https://dev.to/martintonev/building-robust-admin-palels-with-filament-and-shavel-a-step-by-step-guide-2pn3?1 यदि कोई उल्लंघन है, तो कृपया इसे हटा देने के लिए अध्ययन_गोलंग @163.com पर संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3