Rumah > rangka kerja php > Laravel > Cara membuat ruang sembang mudah menggunakan Laravel

Cara membuat ruang sembang mudah menggunakan Laravel

PHPz
Lepaskan: 2023-04-03 19:07:09
asal
876 orang telah melayarinya

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.

Persediaan persekitaran

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.

Buat Projek

Pertama, kita perlu mencipta projek Laravel. Buka terminal dan cipta direktori baharu di dalamnya, kemudian buat projek baharu dengan arahan berikut:

laravel new chatroom
Salin selepas log masuk

Ini akan mencipta projek Laravel baharu yang dipanggil bilik sembang. Sekarang, pergi ke direktori itu dan jalankan arahan berikut:

php artisan serve
Salin selepas log masuk

Perintah ini akan memulakan pelayan web terbina dalam dan menyampaikannya pada port 8000 pada localhost.

Buat model dan pangkalan data

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
Salin selepas log masuk

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();
    });
}
Salin selepas log masuk

Penghijrahan ini mencipta jadual mesej dengan medan id, pengarang, mesej dan cap masa. Seterusnya, jalankan arahan berikut untuk menjalankan penghijrahan:

php artisan migrate
Salin selepas log masuk

Buat Pengawal dan Paparan

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
Salin selepas log masuk

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);
    }
}
Salin selepas log masuk

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
Salin selepas log masuk

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.

Selesai

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!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan