mata teras:
LiveWire adalah perpustakaan yang membolehkan anda membina antara muka dinamik yang responsif menggunakan templat bilah dan sedikit JavaScript. "Kecil" adalah kerana kita hanya perlu menulis JavaScript untuk lulus data melalui acara penyemak imbas dan bertindak balas kepada mereka.
anda boleh menggunakan LiveWire untuk melaksanakan ciri -ciri berikut tanpa memuat semula halaman:
Pagination
Perbandingan Livewire vs Vue
Vue sentiasa menjadi rangka kerja front-end pilihan untuk pemaju Laravel untuk menambah interaktiviti kepada aplikasi mereka. Jika anda sudah menggunakan Vue, maka belajar LiveWire adalah pilihan. Tetapi jika anda baru untuk pembangunan front-end Laravel dan mencari alternatif kepada Vue, LiveWire adalah pilihan yang hebat. Keluk pembelajarannya adalah lebih rata daripada Vue, kerana anda menggunakan bilah untuk menulis fail templat.
Untuk maklumat lanjut mengenai perbandingan LiveWire dan Vue, lihat "Laravel Livewire vs Vue".
Gambaran Keseluruhan Aplikasi
Kami akan membuat aplikasi CRUD masa nyata. Ia pada dasarnya adalah aplikasi CRUD yang tidak memerlukan memuat semula halaman. LiveWire akan mengendalikan semua permintaan AJAX yang diperlukan untuk mengemas kini UI, termasuk hasil penapisan melalui medan carian, penyortiran dengan tajuk lajur, dan penomboran mudah (sebelumnya dan seterusnya). Membuat dan mengedit pengguna akan menggunakan kotak modal bootstrap.
Anda boleh melawat repositori GitHub untuk melihat kod sumber projek ini.
prasyarat
Tutorial ini mengandaikan bahawa anda mempunyai pengalaman dalam pembangunan aplikasi PHP. Pengalaman Laravel akan membantu, tetapi tidak diperlukan. Jika anda hanya tahu PHP tulen atau kerangka PHP yang lain, anda juga boleh terus belajar.
tutorial ini mengandaikan bahawa anda telah memasang perisian berikut di komputer anda:
Tetapan Projek
anda boleh membuat projek Laravel baru:
composer create-project laravel/laravel livecrud
Langkah seterusnya adalah untuk membuat pangkalan data MySQL menggunakan alat pengurusan pangkalan data pilihan anda. Namakan pangkalan data LiveCrud.
Memasang kebergantungan backend
composer require livewire/livewire:2.3
NOTA: Kami memasang versi tertentu yang saya gunakan semasa membuat demo. Jika anda membaca artikel ini pada masa akan datang, disarankan agar anda memasang versi terkini. Pastikan anda menyemak log masuk projek pada repositori GitHub untuk memastikan anda tidak terlepas apa -apa.
Sediakan pangkalan data
// database/migrations/<timestamp>_create_users_table.php </timestamp>public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->enum('user_type', ['admin', 'user'])->default('user'); // add this $table->tinyInteger('age'); // add this $table->string('address')->nullable(); // add this $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); }
// database/factories/UserFactory.php public function definition() { return [ 'name' => $this->faker->name, 'email' => $this->faker->unique()->safeEmail, 'email_verified_at' => now(), 'password' => 'yIXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password 'remember_token' => Str::random(10), // add these 'user_type' => 'user', 'age' => $this->faker->numberBetween(18, 60), 'address' => $this->faker->address, ]; }
// database/seeders/DatabaseSeeder.php public function run() { \App\Models\User::factory(100)->create(); }
php artisan migrate php artisan db:seed
composer require laravel/ui
php artisan ui bootstrap
// Fonts @import url("https://fonts.googleapis.com/css?family=Nunito"); // Variables @import "variables"; // Bootstrap @import "~bootstrap/scss/bootstrap"; // add these: @import "~@fortawesome/fontawesome-free/scss/fontawesome"; @import "~@fortawesome/fontawesome-free/scss/brands"; @import "~@fortawesome/fontawesome-free/scss/regular"; @import "~@fortawesome/fontawesome-free/scss/solid";
npm install @fortawesome/fontawesome-free npm install
(langkah seterusnya, disebabkan oleh batasan ruang, anda akan output dalam segmen. Sila teruskan soalan untuk mendapatkan yang lain)
Atas ialah kandungan terperinci Bermula dengan Laravel LiveWire. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!