Rumah > pembangunan bahagian belakang > tutorial php > Bermula dengan Laravel LiveWire

Bermula dengan Laravel LiveWire

William Shakespeare
Lepaskan: 2025-02-08 11:13:09
asal
712 orang telah melayarinya

Getting Started with Laravel Livewire

Berita baik untuk pemaju Laravel: Gunakan LiveWire untuk memudahkan pembinaan antara muka dinamik! Artikel ini akan membimbing anda cara menggunakan LiveWire, Rangka Kerja Stack Penuh Laravel yang kuat ini, dengan mudah membuat antara muka interaktif dinamik dan dengan ketara mengurangkan jumlah kod JavaScript. LiveWire membolehkan anda memberi tumpuan kepada pembangunan fungsi aplikasi dan bukannya pelaksanaan asas yang membosankan.

mata teras:

    LiveWire adalah rangka kerja penuh yang menggunakan templat PHP dan bilah untuk membina antara muka dinamik Laravel, dan mempunyai kod JavaScript yang sangat sedikit.
  • Tutorial ini akan membimbing anda melalui membina aplikasi CRUD yang menunjukkan bagaimana LiveWire mengendalikan kemas kini UI dinamik (seperti carian dan penyortiran) tanpa memuat semula halaman.
  • LiveWire adalah alternatif yang sangat baik untuk Vue.js, terutamanya untuk rangka kerja rangka kerja depan, dengan lengkung pembelajaran yang lebih lancar kerana ia menjadikan sebahagian besar templat Laravel yang anda kenal.
  • Proses persediaan termasuk membuat projek Laravel baru, menyediakan pangkalan data, memasang LiveWire dan kebergantungan yang diperlukan.
  • Ciri-ciri utama LiveWire termasuk pengesahan masa nyata, paging, dan menguruskan interaksi pengguna secara langsung pada antara muka (mencipta, mengemas kini, dan memadam pengguna).
  • Teknik pengoptimuman juga diserlahkan dalam tutorial , seperti menggunakan teknologi anti-goncang untuk memproses input carian dan penyerahan borang beban yang tertunda untuk meningkatkan prestasi dan pengalaman pengguna.
Apa itu livewire?

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
  • Pengesahan Borang
  • Pemberitahuan
  • pratonton muat naik fail
  • Harus diingat bahawa fungsi LiveWire lebih daripada itu. Anda boleh menggunakannya untuk lebih banyak senario, dan di atas hanya beberapa senario yang paling biasa.

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. Getting Started with Laravel Livewire

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:

    php
  • mysql
  • nginx
  • komposer
  • nod dan npm
Jika anda menggunakan Mac, memasang dbngin dan valet Laravel lebih mudah daripada memasang MySQL dan Nginx.

Tetapan Projek

anda boleh membuat projek Laravel baru:

composer create-project laravel/laravel livecrud
Salin selepas log masuk
Navigasi ke folder livecrud yang dihasilkan. Ini akan menjadi folder Projek Root di mana anda melaksanakan semua arahan sepanjang tutorial.

Langkah seterusnya adalah untuk membuat pangkalan data MySQL menggunakan alat pengurusan pangkalan data pilihan anda. Namakan pangkalan data LiveCrud.

Memasang kebergantungan backend

Kami hanya mempunyai satu kebergantungan backend, iaitu livewire. Pasangnya dengan arahan berikut:

composer require livewire/livewire:2.3
Salin selepas log masuk

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

Kemas kini penghijrahan lalai untuk membuat jadual pengguna dan tambahkan medan tersuai yang akan kami gunakan:

// 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();
    });
}
Salin selepas log masuk
Seterusnya, kemas kini fail pangkalan data/kilang/userfactory.php dan berikan nilai untuk medan tersuai yang kami tambahkan:

// 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,
    ];
}
Salin selepas log masuk
Akhirnya, buka fail pangkalan data/seedabaseeder.php dan uncomment panggilan untuk membuat pengguna maya:

// database/seeders/DatabaseSeeder.php
public function run()
{
    \App\Models\User::factory(100)->create();
}
Salin selepas log masuk
Jangan lupa untuk mengemas kini fail .env anda dengan pangkalan data ujian yang akan anda gunakan. Dalam kes ini, saya menamakan pangkalan data Livecrud. Setelah selesai, jalankan penghijrahan dan penyokong untuk mengisi pangkalan data:

php artisan migrate
php artisan db:seed
Salin selepas log masuk
Tetapkan Dependencies Front-End

Untuk memudahkan operasi, kami akan menggunakan perancah Laravel untuk bootstrap. Untuk melakukan ini, anda perlu memasang pakej Laravel/UI terlebih dahulu:

composer require laravel/ui
Salin selepas log masuk
Seterusnya, pasang Bootstrap 4. Ini akan menambah konfigurasi dalam fail webpack.mix.js anda dan membuat sumber/js/app.js dan sumber/sass/app.scss fail:

php artisan ui bootstrap
Salin selepas log masuk
Seterusnya, tambahkan fon Awsome ke Fail Sumber/SASS/APP.SCSS. Secara lalai, ia sepatutnya mengandungi fon, pembolehubah, dan import 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";
Salin selepas log masuk
Selepas selesai, pasang semua kebergantungan:

npm install @fortawesome/fontawesome-free
npm install
Salin selepas log masuk

(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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan