Kegagalan sistem perlu ditangani dengan berkesan untuk kelancaran sistem. CakePHP datang dengan perangkap ralat lalai, yang mencetak dan mencatat ralat semasa ia berlaku. Pengendali ralat yang sama ini digunakan untuk menangkap Pengecualian.
Pengendali ralat memaparkan ralat, apabila nyahpepijat adalah benar dan log ralat, apabila nyahpepijat adalah palsu. CakePHP mempunyai bilangan kelas pengecualian dan pengendalian pengecualian terbina dalam akan menangkap sebarang pengecualian yang tidak ditangkap dan menjadikan halaman berguna.
Ralat dan Pengecualian boleh dikonfigurasikan dalam fail configapp.php. Pengendalian ralat menerima beberapa pilihan yang membolehkan anda menyesuaikan pengendalian ralat untuk aplikasi anda −
Pilihan | Jenis Data | Penerangan | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errorLevel | int |
|
|||||||||||||||||||||
jejak | bool | Sertakan surih tindanan untuk ralat dalam fail log. Surih tindanan akan dimasukkan dalam log selepas setiap ralat. Ini berguna untuk mencari tempat/bila ralat ditimbulkan. |
|||||||||||||||||||||
exceptionRenderer | rentetan |
Kelas yang bertanggungjawab untuk memberikan pengecualian yang tidak ditangkap. Jika anda memilih kelas tersuai, anda harus meletakkan fail untuk kelas tersebut dalam src/Error. Kelas ini perlu melaksanakan kaedah render(). |
|||||||||||||||||||||
log | bool |
<?php use Cake\Http\Middleware\CsrfProtectionMiddleware; use Cake\Routing\Route\DashedRoute; use Cake\Routing\RouteBuilder; $routes->setRouteClass(DashedRoute::class); $routes->scope('/', function (RouteBuilder $builder) { $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([ 'httpOnly' => true, ])); $builder->applyMiddleware('csrf'); //$builder->connect('/pages',['controller'=>'Pages','action'=>'display', 'home']); $builder->connect('/exception/:arg1/:arg2', ['controller'=>'Exps','action'=>'index'], ['pass' => ['arg1', 'arg2']]); $builder->fallbacks(); }); Salin selepas log masuk CakeLogLog. |
|||||||||||||||||||||
skipLog | tatasusunan | Susun atur nama kelas pengecualian yang tidak sepatutnya dilog. Ini berguna untuk mengalih keluar NotFoundExceptions atau mesej log biasa tetapi tidak menarik yang lain. | |||||||||||||||||||||
extraFatalErrorMemory | int | Tetapkan kepada bilangan megabait untuk meningkatkan had memori sebanyak, apabila ralat maut ditemui. Ini membolehkan ruang pernafasan menyelesaikan pembalakan atau pengendalian ralat. |
Atas ialah kandungan terperinci Kesilapan CakePHP & Pengendalian Pengecualian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!