Rumah > Artikel > rangka kerja php > Cara menggunakan Laravel untuk membangunkan platform soal jawab dalam talian
Cara menggunakan Laravel untuk membangunkan platform soal jawab dalam talian
Pengenalan:
Dalam beberapa tahun kebelakangan ini, dengan populariti Internet dan minat orang ramai terhadap pengetahuan Permintaan untuk komunikasi terus meningkat, dan platform soal jawab dalam talian telah menjadi aplikasi Internet yang popular. Artikel ini akan menggunakan rangka kerja Laravel untuk membangunkan platform soal jawab dalam talian yang mudah dan memberikan contoh kod khusus.
1. Persediaan persekitaran
Sebelum bermula, kita perlu menyediakan persekitaran pembangunan. Pastikan anda telah memasang PHP dan Komposer, dan Laravel dikonfigurasikan pada komputer anda.
2. Buat projek
Mula-mula, buka alat baris arahan dan masukkan folder tempat anda ingin mencipta projek. Kemudian laksanakan arahan berikut untuk mencipta projek Laravel baharu:
composer create-project --prefer-dist laravel/laravel qa-platform
Arahan ini akan memuat turun versi terkini Laravel dan mencipta folder bernama qa-platform sebagai direktori akar projek kami.
3. Konfigurasi pangkalan data
Seterusnya, kita perlu mengkonfigurasi pangkalan data yang digunakan oleh Laravel. Buka fail .env dalam direktori akar projek dan cari baris kod berikut di dalamnya:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret
Ubah suai item konfigurasi ini agar sepadan dengan tetapan pangkalan data anda. Selepas menyimpan fail, jalankan arahan berikut untuk menjana fail pemindahan pangkalan data:
php artisan migrate
Arahan ini akan mencipta jadual data berkaitan pengesahan pengguna lalai Laravel.
4 Buat model soal jawab
Dalam Laravel, kami menggunakan model untuk mengendalikan pangkalan data. Kita perlu mencipta model soalan dan model jawapan. Buka alat baris arahan, tukar ke direktori akar projek, dan laksanakan arahan berikut:
php artisan make:model Question -m php artisan make:model Answer -m
Selepas pelaksanaan, anda akan melihat dua fail model yang baru dibuat dalam folder aplikasi.
Seterusnya, buka fail pemindahan pangkalan data dan tambahkan kod berikut pada fail create_questions_table.php:
public function up() { Schema::create('questions', function (Blueprint $table) { $table->id(); $table->string('title'); $table->longText('description'); $table->timestamps(); }); }
Kemudian, ubah suai fail create_answers_table.php dan tambah kod berikut: #🎜 🎜#
public function up() { Schema::create('answers', function (Blueprint $table) { $table->id(); $table->unsignedBigInteger('question_id'); $table->longText('content'); $table->timestamps(); $table->foreign('question_id')->references('id')->on('questions'); }); }Seterusnya, jalankan arahan berikut untuk melaksanakan pemindahan pangkalan data:
php artisan migrateSelepas pemindahan pangkalan data selesai, anda akan melihat dua jadual data, soalan dan jawapan, dalam pangkalan data . 5 Menulis pengawal dan pandangan
Kita perlu mencipta pengawal untuk mengendalikan logik soalan dan jawapan, dan menjana pandangan yang sepadan untuk memaparkan data.
php artisan make:controller QuestionController --resource php artisan make:controller AnswerController --resourceSelepas melaksanakan arahan di atas, anda akan berada dalam app/Http Dua fail pengawal baharu dilihat dalam folder /Controllers. Buka fail QuestionController.php dan tambah kod berikut:
public function index() { $questions = Question::all(); return view('questions.index', compact('questions')); } public function create() { return view('questions.create'); } public function store(Request $request) { $question = Question::create([ 'title' => $request->input('title'), 'description' => $request->input('description') ]); return redirect()->route('questions.index'); }Kemudian, buka fail AnswerController.php dan tambah kod berikut:
public function store(Question $question, Request $request) { $answer = Answer::create([ 'question_id' => $question->id, 'content' => $request->input('content') ]); return redirect()->route('questions.show', $question); }Seterusnya, buat paparan yang sepadan fail . Dalam folder sumber/pandangan, cipta folder soalan dan cipta tiga fail paparan index.blade.php, create.blade.php dan show.blade.php di dalamnya. Kemudian tambahkan kod HTML yang sepadan pada fail ini untuk memaparkan data soalan dan jawapan. 6. Konfigurasi penghalaan
Langkah terakhir ialah mengkonfigurasi penghalaan supaya kami boleh mengakses platform Soal Jawab kami melalui URL.
Route::resource('questions', 'QuestionController'); Route::post('questions/{question}/answers', 'AnswerController@store')->name('answers.store');Kemudian, simpan fail tersebut. 7. Mulakan pelayan
Sekarang, kami boleh memulakan pelayan pembangunan Laravel dan mengakses platform Soal Jawab kami dalam penyemak imbas.
php artisan serveKemudian masukkan http://localhost:8000/questions dalam pelayar untuk mengakses Soal Jawab platform Laman Utama. Kesimpulan:
Melalui langkah di atas, kami telah berjaya membangunkan platform soal jawab dalam talian yang mudah menggunakan rangka kerja Laravel, dan mempelajari cara mencipta model, pengawal, pandangan dan konfigurasi penghalaan. Saya harap artikel ini akan membantu anda dalam mempelajari pembangunan aplikasi Laravel.
Atas ialah kandungan terperinci Cara menggunakan Laravel untuk membangunkan platform soal jawab dalam talian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!