Laravel ialah rangka kerja PHP sumber terbuka yang popular untuk pembangunan pesat aplikasi web berkualiti tinggi. Semasa pembangunan dan penyelenggaraan aplikasi, selalunya perlu menutup muka surat hadapan untuk melaksanakan beberapa penyelenggaraan atau pemprosesan tugas.
Terdapat banyak cara untuk menutup halaman latar depan di bawah ini kami akan memperkenalkan satu persatu cara melaksanakan kaedah ini dalam Laravel.
Laravel menyediakan sistem penghalaan yang fleksibel yang boleh mentakrifkan laluan semua permintaan HTTP dengan mudah. Katakan kita perlu menutup halaman latar depan semasa penyelenggaraan aplikasi, kita boleh menentukan laluan khusus untuk mengendalikan permintaan ini. Dalam fail /routes/web.php, tambah definisi laluan berikut:
Route::get('/maintenance', function () { return view('maintenance'); });
Dalam kod di atas, laluan jenis GET ditakrifkan dengan laluan /penyelenggaraan. Apabila pengguna meminta laluan, paparan penyelenggaraan akan dikembalikan.
Untuk memastikan halaman yang betul dikembalikan semasa mengakses /penyelenggaraan, kami perlu mencipta fail templat maintenance.blade.php dalam direktori sumber/pandangan, dan kemudian tulis kod HTML dan CSS untuk ditutup halaman dalam templat.
Cara lain untuk menutup halaman hadapan ialah menggunakan perisian tengah yang disediakan oleh Laravel untuk menyekat akses. Middleware mampu menapis semua permintaan HTTP dan memprosesnya sebelum ia dihalakan. Semasa penyelenggaraan aplikasi, kami boleh mencipta perisian tengah hadapan untuk menyekat akses kepada semua permintaan HTTP.
Dalam direktori /app/Http/Middleware, buat fail middleware bernama MaintenanceMode.php dan tambahkan kod berikut di dalamnya:
namespace App\Http\Middleware; use Closure; class MaintenanceMode { public function handle($request, Closure $next) { if (app()->isDownForMaintenance()) { return response('维护中,请稍后再试。', 503); } return $next($request); } }
Dalam kod di atas, isDownForMaintenance( ) ialah kaedah yang disediakan oleh rangka kerja Laravel untuk menentukan sama ada aplikasi berada dalam mod penyelenggaraan. Jika aplikasi dalam penyelenggaraan, kembalikan ralat 503 dan mesej "dalam penyelenggaraan". Jika tidak, hantar permintaan kepada perisian tengah atau pemproses laluan seterusnya untuk pemprosesan selanjutnya.
Untuk membolehkan middleware berkuat kuasa, anda juga perlu menambah nama middleware pada tatasusunan $routeMiddleware dalam fail app/Http/Kernel.php:
protected $routeMiddleware = [ // 省略其他中间件 'maintenance' => \App\Http\Middleware\MaintenanceMode::class, ];
Akhir sekali, apabila penyelenggaraan diperlukan , kami hanya perlu memanggil arahan artisan bagi pelancar mod penyelenggaraan. Contohnya, laksanakan arahan berikut pada baris arahan:
php artisan down --message="系统正在维护,请稍后再试。"
Arahan di atas akan mendayakan mod penyelenggaraan Laravel dan memaparkan mesej penyelenggaraan tersuai.
Akhir sekali, jika apl yang anda gunakan tidak terlalu rumit, anda juga boleh menggunakan kod JavaScript untuk menutup halaman latar depan. Ini berfungsi hebat untuk aplikasi web kecil dan tapak web HTML statik. Sangat mudah untuk menggunakan kod JavaScript untuk menutup halaman latar depan Cuma tambah kod berikut pada halaman:
window.close();
Kod di atas akan menutup terus halaman semasa, yang merupakan tingkah laku asas penyemak imbas. .
Ringkasan
Terdapat banyak cara untuk menutup halaman hadapan dalam aplikasi Laravel. Kaedah mana yang hendak dipilih bergantung pada jenis aplikasi dan keperluan anda. Mana-mana kaedah yang anda pilih, anda harus memastikan bahawa pengguna diberikan maklumat dan gesaan yang mencukupi semasa penyelenggaraan untuk mengelakkan kekeliruan dan keraguan.
Atas ialah kandungan terperinci Bagaimana untuk menutup halaman depan dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!