Rumah > Artikel > rangka kerja php > Pembangunan Laravel: Bagaimana untuk menggunakan Laravel Nova untuk operasi CRUD?
Laravel ialah salah satu rangka kerja PHP paling popular hari ini, menyediakan fungsi yang kaya dan pengalaman pembangunan yang mudah. Laravel Nova ialah pembina antara muka pentadbir yang direka khusus untuk aplikasi Laravel, membantu anda membuat dan mengurus panel pentadbir bahagian belakang dengan lebih mudah. Dalam artikel ini, kita akan melihat cara menggunakan Laravel Nova untuk operasi CRUD.
Apakah operasi CRUD?
CRUD ialah singkatan kepada "Buat, Baca, Kemas Kini dan Padam". Empat operasi ini adalah fungsi asas mana-mana aplikasi. Melalui operasi CRUD, anda boleh melaksanakan operasi asas seperti menambah, bertanya, mengemas kini dan memadam data dalam pangkalan data. Dalam rangka kerja Laravel, kita boleh menggunakan Eloquent ORM untuk melaksanakan operasi ini dengan mudah. Walau bagaimanapun, jika anda mahukan panel pentadbir yang lebih mesra pengguna, Laravel Nova mempunyai penyelesaian yang hebat untuk anda.
Pasang Laravel Nova
Sebelum menggunakan Laravel Nova, kita perlu memasangnya terlebih dahulu. Laravel Nova ialah produk komersial dan secara rasminya menyediakan tempoh percubaan percuma selama 30 hari. Jika anda ingin mencubanya, anda boleh pergi ke https://nova.laravel.com/ untuk membuat akaun dan mendapatkan lesen percubaan.
Setelah pemasangan selesai, kami boleh menambah Nova pada aplikasi Laravel kami. Anda boleh menggunakan komposer untuk menyelesaikan proses ini, hanya pergi ke folder projek anda dalam konsol dan jalankan arahan berikut:
composer require laravel/nova
Selain itu, anda juga perlu mendaftarkan pembekal perkhidmatan Nova. Dalam fail config/app.php, cari tatasusunan penyedia dan tambah kod berikut:
LaravelNovaNovaServiceProvider::class,
Selepas menjalankan arahan di atas, anda perlu menjalankan arahan berikut:
php artisan nova:install
Perintah ini akan berikan aplikasi anda Program ini menjana fail konfigurasi Nova dan direktori sumber. Anda juga perlu menerbitkan fail CSS dan JavaScript Nova ke direktori awam/vendor/nova menggunakan arahan Nova publish:
php artisan vendor:publish --tag=nova-assets
Seterusnya, anda juga perlu menyediakan pemacu dalam fail auth.php dalam sesi folder konfigurasi untuk membolehkan sistem pengesahan Nova berfungsi dengan betul:
'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], ],
Akhir sekali, anda juga perlu menjalankan arahan berikut untuk menjana laluan dan jadual pengesahan untuk Nova:
php artisan nova:install
Pada ketika ini , kami telah menyelesaikan kerja pemasangan dan konfigurasi Laravel Nova.
Menggunakan Laravel Nova untuk operasi CRUD
Seterusnya, kita akan melihat cara menggunakan Laravel Nova untuk operasi CRUD. Kita akan mulakan dengan contoh mudah, mari buat aplikasi blog baru menggunakan Laravel Nova, dalam aplikasi ini kita akan dapat membuat, melihat, mengemas kini dan memadam catatan blog.
1. Cipta model dan migrasi pangkalan data
Pertama, kita perlu mencipta model baharu dan migrasi pangkalan data. Kami akan menggunakan alat baris arahan Artisan Laravel untuk menyelesaikan proses ini. Dalam konsol, tukar ke folder projek anda dan taip perintah berikut:
php artisan make:model Blog -m
Perintah ini akan mencipta model baharu bernama Blog dan juga menjana fail migrasi pangkalan data baharu bernama create_blogs_table.
Sekarang, kita perlu mentakrifkan skema jadual "blog" kami dalam fail pemindahan pangkalan data. Cari fail ini dalam direktori pangkalan data/migrasi dan bukanya. Anda akan melihat kod seperti ini:
public function up() { Schema::create('blogs', function (Blueprint $table) { $table->id(); $table->timestamps(); }); } public function down() { Schema::dropIfExists('blogs'); }
Dalam contoh ini, kami hanya menentukan medan id dan cap masa. Anda boleh melaraskan dan menambah medan lain mengikut keperluan anda. Jalankan pemindahan pangkalan data selepas selesai:
php artisan migrate
2. Tentukan model sumber
Seterusnya, kita perlu mentakrifkan model sumber. Model sumber ialah jambatan antara model Laravel Nova dan Eloquent. Kami mentakrifkan model sumber untuk memberitahu Laravel Nova jadual pangkalan data yang akan dikaitkan dengannya. Untuk mencipta model sumber, taip perintah berikut:
php artisan nova:resource Blog
Perintah ini akan mencipta fail baharu bernama Blog.php dalam direktori app/Nova. Sebaik sahaja anda membuka fail ini, anda akan melihat kod berikut:
<?php namespace AppNova; use IlluminateHttpRequest; use LaravelNovaFieldsID; use LaravelNovaFieldsText; use LaravelNovaFieldsNumber; use LaravelNovaHttpRequestsNovaRequest; class Blog extends Resource { /** * The model the resource corresponds to. * * @var string */ public static $model = ''; /** * The single value that should be used to represent the resource when being displayed. * * @var string */ public static $title = 'id'; /** * The columns that should be searched. * * @var array */ public static $search = []; /** * Get the fields displayed by the resource. * * @param IlluminateHttpRequest $request * @return array */ public function fields(Request $request) { return [ ID::make()->sortable(), Text::make('Title')->sortable(), Number::make('Views')->sortable(), Text::make('Content')->hideFromIndex(), ]; } /** * Get the cards available for the request. * * @param IlluminateHttpRequest $request * @return array */ public function cards(Request $request) { return []; } /** * Get the filters available for the resource. * * @param IlluminateHttpRequest $request * @return array */ public function filters(Request $request) { return []; } /** * Get the lenses available for the resource. * * @param IlluminateHttpRequest $request * @return array */ public function lenses(Request $request) { return []; } /** * Get the actions available for the resource. * * @param IlluminateHttpRequest $request * @return array */ public function actions(Request $request) { return []; } }
Dalam fail ini, kami mentakrifkan model sumber baharu yang dipanggil Blog. Sekarang kita perlu mengaitkan model ini dengan model Laravel. Anda hanya perlu membuka fail model dan tambahkan kod berikut pada bahagian atas:
namespace App; use IlluminateDatabaseEloquentModel; class Blog extends Model { // }
3. Sambungkan sumber kepada nova
Sekarang, kita perlu menyambungkan sumber Blog ke Laravel Nova. Untuk melakukan ini, anda boleh membuka fail app/Nova/NovaServiceProvider.php dan tambahkan yang berikut pada kaedah butnya:
use AppNovaBlog; // ... public function boot() { // ... Nova::resources([ Blog::class, ]); }
Kini setelah kami berjaya mengkonfigurasi Laravel Nova, kami boleh memasukkan aplikasi dan melihat apa itu suka.
4. Lakukan operasi CRUD
Kini, kami telah berjaya menyediakan Laravel Nova dan menghubungkan sumber Blog kami dengannya. Kami boleh mengakses panel pentadbir dan mula melakukan operasi CRUD.
Jalankan arahan berikut dalam konsol untuk memulakan pelayan pembangunan setempat:
php artisan serve
Kemudian, buka url http://localhost:8000/nova dan anda akan melihat halaman log masuk. Log masuk menggunakan akaun sedia ada dalam aplikasi Laravel anda.
Kini anda boleh klik pada menu lungsur "Sumber" pada menu atas dan pilih Blog. Di sini anda akan melihat senarai blog kosong.
Kami boleh mencipta, membaca, mengemas kini dan memadam catatan blog menggunakan Laravel Nova. Anda boleh mengklik butang "Blog Baru" di sudut kanan atas halaman dan masukkan data. Setiap kali catatan blog baharu ditambahkan, senarai akan dikemas kini secara automatik untuk menunjukkan data terkini.
Anda boleh memasukkan mod paparan dan edit dengan mengklik pada nama catatan blog untuk melakukan tindakan lain, seperti mengemas kini atau memadamkan catatan blog. Selain itu, anda boleh menggunakan ciri Penapis untuk mencari catatan blog tertentu dengan cepat dan ciri Carian untuk mencari kata kunci merentas semua catatan blog.
Ringkasan
Dengan menggunakan Laravel Nova, kami boleh membuat dan mengurus panel pentadbir bahagian belakang aplikasi Laravel dengan mudah. Dalam tutorial ini, kami belajar cara membina aplikasi CRUD mudah menggunakan Laravel Nova. Anda boleh menggunakan kaedah yang serupa dalam projek sebenar dan menguasai ciri Laravel Nova yang lebih maju untuk melaksanakan aplikasi yang lebih kompleks.
Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk menggunakan Laravel Nova untuk operasi CRUD?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!