Pembangunan Laravel: Bagaimana untuk membina aplikasi dipacu acara menggunakan Penyumberan Acara Laravel?
Aplikasi dipacu acara ialah aplikasi yang dilaksanakan menggunakan acara dan pengendali acara (Pengendali Acara). Seni bina dipacu peristiwa menjadikan aplikasi lebih mudah untuk dikembangkan dan diselenggara, lebih fleksibel dan lebih mudah untuk menyesuaikan diri dengan perubahan.
Laravel ialah rangka kerja PHP popular yang menyediakan ciri yang dipanggil Penyumberan Acara yang boleh membantu kami membina aplikasi dipacu acara. Artikel ini akan memperkenalkan cara menggunakan Penyumberan Acara Laravel untuk membina aplikasi terdorong acara yang mudah.
1. Apakah Penyumberan Acara Laravel?
Penyumberan Acara Laravel ialah rangka kerja pemodelan dipacu peristiwa, yang merupakan suite yang disediakan oleh Laravel untuk membantu kami membina aplikasi dipacu acara. Ia menyimpan dan memulihkan peristiwa, membolehkan kami mengeluarkan semula keadaan dalam aplikasi dan kembali ke keadaan sebelumnya.
2. Mengapa menggunakan Sumber Acara Laravel?
Faedah menggunakan Penyumberan Acara Laravel ialah ia dapat meningkatkan kebolehskalaan dan kebolehselenggaraan aplikasi. Apabila kami menggunakan aplikasi dipacu peristiwa, lebih mudah untuk memahami dan mengubah suai bahagian aplikasi yang berbeza, dan aplikasi itu lebih mantap.
Menggunakan Penyumberan Acara Laravel, kami boleh melaksanakan berbilang mod dengan mudah, termasuk mod CQRS (Pengasingan Tanggungjawab Pertanyaan Perintah) dan mod ES (Penyumberan Acara).
3. Bagaimanakah cara menggunakan Penyumberan Acara Laravel untuk membina aplikasi dipacu acara?
Dalam contoh ini, kami akan membina aplikasi pengurusan tugasan mudah di mana pengguna boleh membuat dan menyelesaikan tugasan.
Langkah 1: Buat tugasan
Kami boleh menunjukkan cara menggunakan Penyumberan Acara Laravel dengan mencipta tugasan. Pertama, kita perlu mencipta acara "TaskCreated" untuk mengendalikan tingkah laku mencipta tugas.
1 |
|
Langkah 2: Buat pengendali acara untuk tugasan
Setelah kami mencipta acara, kami perlu mencipta pengendali acara untuk mengendalikan acara. Sekarang kita perlu mencipta pengendali acara untuk mengendalikan acara "TaskCreated".
1 |
|
Langkah 3: Ikat acara dan pengendali acara bersama-sama
Sekarang kita perlu mengikat acara dan pengendali acara bersama-sama. Kita boleh mencapai ini dalam fail EventServiceProvider Laravel.
1 2 3 4 5 |
|
Langkah 4: Gunakan pengendali acara untuk mengendalikan acara penciptaan tugasan
Kini kami boleh menggunakan pengendali acara kami untuk mengendalikan acara penciptaan tugas. Pengendali acara pertama yang akan kami laksanakan ialah CreateTaskListener, yang sebenarnya akan mencipta tugas baharu.
1 2 3 4 5 6 |
|
Langkah 5: Gunakan Penyumberan Acara Laravel untuk menyimpan acara
Penggunaan Penyumberan Acara Laravel membolehkan kami menyimpan dan memulihkan acara. Kita perlu menggunakan perpustakaan Penyumberan Acara dalam Laravel, seperti perpustakaan Broadway.
Kita boleh menggunakan fail composer.json Laravel untuk menambah perpustakaan Broadway:
1 2 3 4 5 |
|
Kemudian jalankan arahan berikut untuk memasang perpustakaan Broadway:
1 |
|
Langkah 6: Gunakan Laravel Penyumberan Acara
Kini kita boleh menggunakan Penyumberan Acara Laravel untuk menyimpan acara.
Kami perlu membuat kedai acara untuk menyimpan dan mendapatkan semula acara. Kita boleh melaksanakannya dengan mencipta kelas yang dipanggil TaskEventStore.php dalam folder aplikasi Laravel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Kita perlu mencipta stor acara baharu dalam pembina kelas TaskEventStore dan menggunakan perpustakaan Broadway EventSourcingRepository dalam EventSourcingRepository untuk menyimpan acara . Kami juga perlu menentukan kilang akar agregat dan repositori akar agregat untuk mengurus akar agregat kami.
Kini kita boleh menggunakan kelas TaskEventStore untuk menyimpan acara. Kita boleh menambah kod berikut dalam pengendali acara CreateTaskListener:
1 2 3 4 5 6 7 8 9 10 |
|
Coretan kod ini mendapat contoh kelas TaskEventStore, mencipta strim acara, memuatkan punca agregat, memanggil kaedah pemegang dan menyimpan peristiwa yang tidak dikomit.
Kami juga perlu mengikat kelas TaskEventStore dalam kelas ServiceProvider Laravel:
1 2 3 4 |
|
Langkah 7: Cari dan paparkan tugasan
Sekarang kami telah mencipta tugas baharu, kami Kami boleh mengubah suai pertanyaan kami untuk memaparkan semua tugasan kepada pengguna.
Buat perintah yang dipanggil ShowTasks:
1 |
|
Pemproses arahan pertama yang akan kami laksanakan ialah ShowTasks, yang akan mengembalikan semua tugas untuk paparan senarai.
1 2 3 4 5 6 7 |
|
Langkah 8: Tandai tugasan sebagai selesai
Sekarang kami mahu mensimulasikan tingkah laku menandakan tugasan sebagai selesai. Kita boleh menggunakan acara "TaskCompleted" untuk menjejak tingkah laku ini.
Pertama, kita perlu mencipta acara "TaskCompleted":
1 |
|
Kemudian, kita akan mencipta pengendali acara yang dipanggil CompleteTaskHandler untuk mengendalikan acara ini.
1 |
|
Seterusnya, kami mengikat acara "TaskCompleted" dan pengendali acara CompleteTaskHandler:
1 2 3 4 5 6 7 8 |
|
Akhir sekali, pengendali acara kedua yang ingin kami laksanakan ialah CompleteTaskHandler, yang akan menetapkan status tugas sebagai selesai.
1 2 3 4 5 6 |
|
Pada ketika ini, kami telah berjaya mencipta aplikasi dipacu peristiwa yang membolehkan pengguna membuat, melengkapkan dan memaparkan senarai tugasan.
Kesimpulan
Menggunakan Penyumberan Acara Laravel boleh membantu kami membina aplikasi dipacu acara. Aplikasi dipacu acara lebih berskala, boleh diselenggara dan lebih fleksibel. Dengan Penyumberan Acara Laravel, kami boleh melaksanakan berbilang corak dengan mudah, termasuk corak CQRS dan ES, jadi kami mengesyorkan pembangun menggunakan seni bina dipacu peristiwa semasa membina aplikasi.
Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk membina aplikasi dipacu acara menggunakan Penyumberan Acara Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!