راکت
حل شده

مدیریت خطا در api با لاراول

3 پاسخ

سلام آقای بیات و بقیه دوستان @ali.bayat

من پیش تر پاسخ شما رو در این لینک مطالعه کردم سوالی که دارم این هستش که آیا لازم هست ما بیایم و واسه خودمون خطاهای لاراول رو شخصی سازی کنیم؟ مثلا اگر خطا از جنس NotFound بود بیایم و یه message متفاوت برگردونیم...

البته سوال من کمی بزرگتر هست، اگر بخوایم تمام حالت های خطا رو مدیریت کنیم اینکار خیلی سخت خواهد بود واسه همین سوال بالا رو پرسیدم

بقیه دوستان عزیز هم اگر راهی دارند خوشحال میشم در موردش بدونم

مهدی
مهدی
@mrmmg
ثبت پرسش جدید

پاسخ‌ها

3
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

بهترین پاسخ

درود

در واقع مدیریت اکسپشن ها در لاراول خیلی سر راسته
اگر به کلاس App\Exceptions\Handler مراجعه کنی
میبینی که یه متد render در این کلاس وجود داره
که اکسپشن هایی که Throw میشند به این متد پاس داده میشند

پس میتونی راحت مدیریتشون کنی
کافیه نوع اکسپشن رو چک کنی


    if ($exception instanceof NotFoundHttpException) {
    ...
    }

حالا اگر این اکسپشن در سطح وب رخ بده ، باید یه جور بهش ریسپانس بدی
مثلا برای NotFoundHttpException باید یه صفحه ۴۰۴ رو نمایش بدی
اگر هم در سطح API باشه که یه ریسپانس jSon برمیگردونی

مهدی
مهدی
@mrmmg

تخصص: برنامه نویس و طراح وب

@ali.bayat
خب لیست کامل این اکسپشن ها رو از کجا گیر بیارم که هی داخل شرایط بررسی کنم instanceof چی هستند؟

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

هر بار که اکسپشنی throw میشه توی صفحه خطاهای لاراول میشه بررسیش کرد
پروژه لاراولی رو برای فایل های حاوی واژه Exception سرچ کن.
علاوه بر اون گوگل هم گزینه خوبیه

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام