Laravel ialah rangka kerja PHP popular yang berkuasa dan mudah digunakan serta boleh membantu kami membina aplikasi web dengan cepat. Tetapi kadangkala, apabila kita mengubah suai kod pengawal, kita mungkin menghadapi masalah yang pengawal tidak berkuat kuasa. Artikel ini akan menerangkan beberapa kemungkinan punca masalah ini dan memberikan penyelesaian.
1. Caching
Laravel mempunyai sistem caching yang berkuasa yang boleh meningkatkan prestasi aplikasi web dengan ketara. Walau bagaimanapun, jika kita mengubah suai kod pengawal dan Laravel menggunakan caching, pengawal tidak akan berkuat kuasa. Pada masa ini, kita perlu mengosongkan cache.
Terdapat dua cara untuk mengosongkan cache. Salah satunya ialah menjalankan perintah berikut dalam terminal (Linux atau Mac):
php artisan cache:clear
Arahan ini akan mengosongkan semua cache. Yang lain ialah menjalankan arahan berikut:
php artisan route:cache
Arahan ini hanya mengosongkan cache penghalaan. Walau bagaimanapun, jika kita mengubah suai pengawal, cache laluan mungkin menjejaskan keberkesanan pengawal. Jadi, adalah lebih baik untuk mengosongkan semua cache.
2. Ruang nama
Pengawal Laravel disusun menggunakan ruang nama, iaitu teknologi yang digunakan dalam aplikasi PHP. Jika kita mengubah suai ruang nama fail pengawal, maka Laravel tidak dapat mencari pengawal. Pada masa ini, kita perlu mengemas kini ruang nama dalam fail penghalaan.
Fail laluan biasanya terletak di routes/web.php
Kami perlu mencari laluan yang sepadan dengan pengawal dan kemudian mengemas kini ruang nama. Contohnya, jika pengawal berada dalam ruang nama AppHttpControllersAdmin
, maka kita perlu mengemas kini ruang nama dalam fail laluan kepada AppHttpControllersAdmin
.
3. Komposer
Laravel menggunakan Komposer sebagai alat pengurusan pergantungan. Jika kami mengubah suai kod pengawal tetapi tidak menjalankan kemas kini Komposer, pengawal tidak akan berkuat kuasa. Pada masa ini, kita perlu mengemas kini Komposer.
Jalankan arahan berikut dalam terminal:
composer update
Arahan ini akan mengemas kini semua perpustakaan bergantung. Jika kita hanya perlu mengemas kini perpustakaan dependensi yang berkaitan dengan Laravel, kita boleh menjalankan arahan berikut:
composer update laravel/framework
Arahan ini hanya akan mengemas kini perpustakaan dependensi yang berkaitan dengan rangka kerja Laravel.
4. Versi PHP
Laravel memerlukan PHP versi 7.1.3 ke atas. Jika versi PHP kami terlalu rendah, pengawal tidak akan berkuat kuasa. Pada masa ini, kita perlu menaik taraf versi PHP.
Jalankan arahan berikut dalam terminal untuk melihat versi PHP:
php -v
Jika versi PHP kami terlalu rendah, ia boleh diselesaikan dengan menaik taraf PHP atau menggunakan alat pengurusan versi PHP .
Ringkasan
Apabila kami mengubah suai kod pengawal Laravel, kami mungkin menghadapi masalah bahawa pengawal tidak berkuat kuasa. Pada masa ini, kita perlu menyemak cache, ruang nama, versi Komposer dan PHP, dll. untuk mencari punca masalah dan menyelesaikan masalah. Berikut ialah contoh pengawal: Pengawal
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; class UserController extends Controller { public function index() { $users = User::all(); return view('users.index', compact('users')); } public function create() { return view('users.create'); } public function store(Request $request) { $user = new User(); $user->name = $request->name; $user->email = $request->email; $user->password = bcrypt($request->password); $user->save(); return redirect()->route('users.index'); } public function edit(User $user) { return view('users.edit', compact('user')); } public function update(Request $request, User $user) { $user->name = $request->name; $user->email = $request->email; $user->password = bcrypt($request->password); $user->save(); return redirect()->route('users.index'); } public function destroy(User $user) { $user->delete(); return redirect()->route('users.index'); } }
mengandungi lima kaedah: index()
, create()
, store()
, edit()
dan destroy()
. Kaedah ini boleh membantu kami melengkapkan senarai pengguna, membuat pengguna, mengedit pengguna dan memadamkan pengguna.
Atas ialah kandungan terperinci Analisis sebab dan penyelesaian untuk pengawal ubah suai laravel tidak berkuat kuasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!