Laravel ialah rangka kerja PHP popular yang menyediakan pelbagai alatan dan ciri yang menjadikan pembangunan aplikasi web pantas dan mudah. Satu aplikasi yang berguna ialah bilik sembang dalam talian. Dalam artikel ini, kami akan menerangkan cara membuat ruang sembang mudah menggunakan Laravel.
Sebelum anda bermula, sila pastikan komputer anda telah memasang PHP, Laravel, Komposer dan pelayan web. Jika anda belum mempunyai perisian ini, anda perlu memasangnya terlebih dahulu. Cara memasang Laravel dan Komposer boleh didapati dalam dokumentasi rasmi.
Pertama, kita perlu mencipta projek Laravel. Buka terminal dan cipta direktori baharu di dalamnya, kemudian buat projek baharu dengan arahan berikut:
laravel new chatroom
Ini akan mencipta projek Laravel baharu yang dipanggil bilik sembang. Sekarang, pergi ke direktori itu dan jalankan arahan berikut:
php artisan serve
Perintah ini akan memulakan pelayan web terbina dalam dan menyampaikannya pada port 8000 pada localhost.
Sebelum kita mula menulis kod, kita perlu mencipta jadual pangkalan data untuk menyimpan rekod sembang. Untuk melakukan ini, kita perlu mencipta model dan migrasi.
Jalankan arahan berikut untuk mencipta model dan migrasi:
php artisan make:model Message -m
Arahan di atas akan mencipta model bernama Message dan migrasi bernama create_messages_table. Buat jadual data dengan mengedit fail migrasi. Dalam fail migrasi kita perlu mentakrifkan struktur mesej. Berikut ialah contoh:
public function up() { Schema::create('messages', function (Blueprint $table) { $table->id(); $table->string('author'); $table->string('message'); $table->timestamps(); }); }
Penghijrahan ini mencipta jadual mesej dengan medan id, pengarang, mesej dan cap masa. Seterusnya, jalankan arahan berikut untuk menjalankan penghijrahan:
php artisan migrate
Kita perlu mencipta pengawal dan pandangan untuk bilik sembang. Laravel dilengkapi dengan enjin templat Blade yang sangat berkuasa yang boleh membuat halaman web yang cantik dengan mudah. Untuk melakukan ini, kita perlu mencipta pengawal dan beberapa pandangan.
Jalankan arahan berikut untuk mencipta pengawal:
php artisan make:controller ChatController
Ini akan mencipta pengawal yang dipanggil ChatController. Seterusnya, edit pengawal untuk menambah kod untuk mengendalikan logik untuk halaman bilik sembang. Berikut ialah contoh asas:
namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Message; class ChatController extends Controller { public function index() { return view('chat.index'); } public function store(Request $request) { $message = new Message(); $message->author = $request->input('author'); $message->message = $request->input('message'); $message->save(); return response()->json(['status' => 'success']); } public function messages() { $messages = Message::all(); return response()->json($messages); } }
Pengawal ini mempunyai tiga kaedah. Kaedah pertama indeks() digunakan untuk mengembalikan paparan halaman bilik sembang. Kedai kaedah kedua () digunakan untuk menyimpan mesej ke pangkalan data. Mesej kaedah ketiga () digunakan untuk mengembalikan respons JSON bagi semua mesej.
Seterusnya, kita perlu mencipta paparan. Cipta sembang direktori baharu dalam direktori sumber/pandangan dan buat fail bernama index.blade.php di dalamnya. Dalam fail ini kita perlu menambah borang untuk membolehkan pengguna menghantar mesej, serta memaparkan semua mesej di bawah. Berikut ialah contoh:
@extends('layouts.master') @section('content') <div class="card"> <div class="card-header">Chat Room</div> <div class="card-body"> <form id="chat-form"> <div class="form-group"> <label for="author">Name:</label> <input type="text" id="author" name="author" class="form-control" required> </div> <div class="form-group"> <label for="message">Message:</label> <textarea id="message" name="message" rows="5" class="form-control" required></textarea> </div> <button type="submit" class="btn btn-primary">Send</button> </form> <hr> <ul id="messages"> </ul> </div> </div> <script> // 使用 jQuery 来处理表单提交事件 $('#chat-form').submit(function (event) { event.preventDefault(); $.post('/messages', $(this).serialize(), function (data) { console.log(data); if (data.status === 'success') { $('#chat-form')[0].reset(); } }); }); // 从服务器获取消息并添加到列表中 function getMessagesFromServer() { $.get('/messages', function (data) { var html = ''; $.each(data, function (index, message) { html += '<li><strong>' + message.author + '</strong>: ' + message.message + '</li>'; }); $('#messages').html(html); }); } // 每隔一秒钟从服务器获取消息 setInterval(function () { getMessagesFromServer(); }, 1000); </script> @endsection
Paparan ini terdiri daripada dua bahagian: borang dan senarai mesej. Borang ini membolehkan pengguna memasukkan nama mereka dan mesej untuk dihantar. Senarai mesej memaparkan semua mesej yang dihantar sebelum ini ke bilik sembang.
Kami kini telah berjaya mencipta aplikasi bilik sembang asas yang merangkumi jadual pangkalan data yang boleh menyimpan mesej, paparan yang boleh memaparkan semua mesej dan kaedah Pengawal yang menerima mesej baharu dan menyimpannya ke pangkalan data. Sekarang, kami hanya perlu mengakses http://localhost:8000/chat dalam pelayar web untuk memasuki bilik sembang kami.
Atas ialah kandungan terperinci Cara membuat ruang sembang mudah menggunakan Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!