رسیدگی به خطا در PHP: یک راهنمای کامل

یک نرم افزار به مدیریت جدی نیاز دارد تا ببیند عالی و ترک خورده است یا در PHP مسائل دیگری دارد. شما از خطاهای احتمالی PHP بی خبر هستید و فاقد اطلاعات جدید در مورد متقاضی خالص آینده نگر است.
ما در این گزارش گسترده از اشتباهات PHP ، از جمله همه چیز از ابتدا تا مسیرهای چالش برانگیز ، حسادت را بررسی کردیم. برای یافتن نقص قابل توجهی در PHP ، دادخواستهای ایجاد ، خطا ، شامل اشتباهات ، اشتباهات و اقدامات پیشنهادی را مرور خواهیم کرد.
درک خطاها در PHP
وقایع PHP که به عنوان خطاها شناخته می شوند وقتی یک اسکریپت اجرا نشود ، رخ می دهد. مقادیر غیر منتظره ، پرونده های گمشده ، نحو نادرست یا حتی مشکلات مربوط به اتصال پایگاه داده ممکن است باعث این خطاها شود.
PHP چندین راه حل برای رفع این مشکلات ارائه می دهد تا کاربر به آنها نشان داده نشود و برنامه طبق برنامه ریزی همچنان به کار خود ادامه می دهد.
توسعه دهندگان ممکن است این مسائل را حل کنند و تجربه کاربر را با شناخت و حل ماهر آنها افزایش دهند.
انواع خطاها در PHP
PHP خطاها را در بسیاری از گروه ها طبقه بندی می کند که هر یک از آنها به یک روش متفاوت اصلاح نیاز دارند. موارد زیر انواع اصلی مسائل PHP است:
1. خطاهای پارس (خطاهای نحوی)
هنگامی که PHP مسئله ای را با نحو کد تشخیص می دهد ، مانند یک قسمت نادرست و نادرست ، پرانتزهای ناسازگار یا مسئله دیگر ، خطاهای پارس ایجاد می شود. این اشتباهات در شروع اجرای فیلمنامه تشخیص داده می شود.
مثال:
نقل قول بسته شدن از دست رفته منجر به خطای تجزیه می شود.
2. خطاهای کشنده
هنگامی که PHP با مشکلی روبرو می شود که از اجرای اسکریپت جلوگیری می کند ، خطای مهلکی ایجاد می کند. استفاده از کلاسهای نامشخص یا فراخوانی توابع تعریف نشده دلایل مکرر است.
مثال:
در مثال بالا ، تماس بگیرید undefinedFunction()
خطای مهلکی ایجاد می کند و اسکریپت بلافاصله کار را متوقف می کند.
3 خطاهای هشدار دهنده
هشدارهای خطا کشنده نیستند. فیلمنامه علیرغم این مشکلات ادامه خواهد یافت. پارامترهای عملکرد نادرست ، دسترسی به پرونده های غیر موجود و مشکلات ورود به پرونده پرونده نمونه های معمولی هستند.
مثال:
در این حالت ، PHP پیام هشدار دهنده ای را نشان می دهد ، اما اسکریپت به اجرای آن ادامه خواهد داد.
4. خطاهای توجه
خطاهای اطلاع رسانی PHP هنگامی ایجاد می شود که مشکلات را تحت تأثیر قرار می دهد که بر عملکرد اسکریپت تأثیر نمی گذارد اما ممکن است نشانه ای از مشکل باشد. دسترسی نادرست آرایه یا متغیرهای نامشخص به طور معمول علت این موارد است.
مثال:
کد فوق خطای اعلامیه ای را مطرح می کند ، که نشان می دهد متغیر هنوز تعریف نشده است.
5 هشدارهای مستهلک
استفاده از یک عملکرد یا ویژگی که به عنوان منسوخ در نسخه های جدید PHP مشخص شده است ، منجر به هشدار مستهجن می شود.
مثال:
عملکرد تقسیم () در PHP 7.0 و بعد از آن کاهش یافته است.
فقط یک زبان برنامه نویسی را انتخاب نکنید-یک راه حل بلند مدت را انتخاب کنید. پایتون و PHP را مقایسه کنید تا ببینید کدام یک نیازهای شما را به بهترین وجه برآورده می کند.
گزارش خطا در PHP
شما ممکن است به لطف ویژگی گزارش خطای جامع PHP ، نحوه گزارش مشکلات را شخصی سازی کنید. این برای هر دو اشکال زدایی و اطمینان از اینکه کاربران در یک محیط تولید در معرض اطلاعات نادرست قرار نمی گیرند ، ضروری است.
1. فعال کردن گزارش خطا
با استفاده از error_reporting()
روش ، شما ممکن است گزارش خطا را مدیریت کنید. شما می توانید تعداد خطاهایی را که PHP باید با استفاده از این عملکرد گزارش دهد ، پیکربندی کنید.
مثال:
E_ALL
همه خطاها ، هشدارها ، اعلامیه ها و هشدارها را کاهش می دهد. سایر سطوح خطای متداول عبارتند از:E_ERROR
-خطاهای کشنده زمان اجراE_WARNING
-هشدارهای زمان اجرا (خطاهای غیر کشنده)E_NOTICE
– اعلامیه ها (مسائل جزئی)E_DEPRECATED
– هشدارهای مستهلک
2. نمایش خطاها
شما ممکن است استفاده کنید ini_set()
در رابطه با display_errors
دستورالعمل برای نشان دادن خطاها. این کمک زیادی به شما در هنگام پیشرفت می کند.
مثال:
مشکلات عیب یابی با این کار آسان تر خواهد شد ، زیرا داده های خطا درست در مرورگر نشان داده می شوند.
3. خطاهای ورود به سیستم
مهم است که از نشان دادن خطاهای کاربران در تنظیمات تولید جلوگیری کنید. از طرف دیگر ، log_errors
و error_log
از این دستورالعمل می توان برای ورود به خطاها به یک پرونده یا سیستم ورود به سیستم خارجی استفاده کرد.
مثال:
این تضمین می کند که خطاها بدون نشان دادن آنها به کاربر نهایی وارد یک پرونده می شوند.
رسیدگی به خطاها با استفاده از دستگیران سفارشی
PHP با اجازه دادن به شما در طراحی خطای خطای سفارشی ، کنترل کامل خطاها را به شما می دهد. با کمک دست اندرکاران خطای سفارشی ، ممکن است خطاها را وارد کنید ، اعلان های ایمیل را صادر کنید و پیام های خطای سفارشی را نشان دهید.
1. تعریف یک کنترل کننده خطای سفارشی
شما ممکن است از set_error_handler()
روش ساخت یک عملکرد کنترل کننده خطای سفارشی. این عملکرد یک عملکرد پاسخ به تماس را می پذیرد که توسط کاربر تعریف شده و خطاها را برطرف می کند.
مثال:
در customError()
اکنون هر زمان که خطایی در اسکریپت رخ دهد ، عملکرد نامیده می شود.
2. رسیدگی به خطاها در عملکرد سفارشی
شما ممکن است مشکل را ضبط کنید یا حتی یک استثنا را در داخل خطای خود قرار دهید ، از جمله موارد دیگر.
مثال:
این کد جزئیات خطا را به یک پرونده وارد می کند ، و اطمینان می دهد که بعداً می توانید آنها را تجزیه و تحلیل کنید.
رسیدگی به استثناء در PHP
خطاهای PHP ممکن است اکنون با استثنائات مدرن تر انجام شود. برخلاف رسیدگی به خطای متعارف ، استثنائات به شما امکان می دهد تا با روشهای روحی با مشکلات روبرو شوید. آنها همچنین ممکن است با دستگیره های خطای سفارشی برای تهیه برنامه های با خطای قوی استفاده شوند.
1. با استفاده از بلوک های امتحان
در try
با catch
وت throw
بلوک در PHP به شما امکان می دهد با استثنائات مقابله کنید. در حالی که catch
بلوک به معنای ضبط و مدیریت استثنائات پرتاب شده است ، try
بلوک شامل کد است که ممکن است یک استثنا را به وجود آورد.
مثال:
getMessage();
}
?>
در این حالت ، یک استثنا مطرح می شود و در صورت یافتن پرونده ، پیام خطا نشان داده می شود.
2. کلاس استثناء سفارشی
کلاس استثناء استاندارد نیز می تواند با سفارشی گسترش یابد Exception
کلاس ها این امر باعث می شود مدیریت رسیدگی به استثنا با دقت بیشتری انجام شود.
مثال:
getMessage();
}
}
try {
throw new CustomException("Something went wrong!");
} catch (CustomException $e) {
echo $e->errorMessage();
}
?>
با این روش ، ممکن است اقدامات خاصی را برای انواع مختلف خطاها مشخص کنید.
انتخاب چارچوب مناسب برای توسعه کارآمد مهم است – مشخص کنید که چارچوب های PHP امروزه صنعت را هدایت می کنند.
خطاهای ورود به سیستم در PHP
ورود به خطا در تنظیمات تولید اهمیت دارد زیرا نشان دادن خطاها ممکن است کاربران را در معرض اطلاعات خصوصی قرار دهد. شما ممکن است مشکلات را رصد کنید و اطمینان حاصل کنید که آنها با ضبط اشتباهات بر تجربه کاربر تأثیر نمی گذارند.
1. وارد یک پرونده شوید
با استفاده از خطای خاص می توانید خطاها را به یک فایل خاص وارد کنید error_log()
بشر
مثال:
2. ورود از راه دور
خطاها همچنین می توانند از طریق خدماتی مانند PaperTrail ، Loggly یا Sentry به سرورهای دوردست وارد شوند. هنگام ادغام PHP با این خدمات ، ردیابی خطای بهبود یافته در چندین سیستم تضمین می شود.
بهترین روشها برای رسیدگی به خطا در PHP
در اینجا بهترین روشهای لازم برای پیگیری هنگام برخورد با خطا در PHP وجود دارد:
1. خطاها را در تولید نشان ندهید
برای جلوگیری از قرار گرفتن در معرض اطلاعات مهم ، display_errors
همیشه باید در شرایط تولید غیرفعال شود.
2. از ورود به سیستم به طور گسترده استفاده کنید
استثنائات غیر منتظره و اشتباهات جدی همیشه باید ثبت شود. شما ممکن است از این برای یافتن مشکلات در یک محیط تولید استفاده کنید.
3. برای خطاهای پیچیده از استثنا استفاده کنید
برای مقابله با خرابی در سیستم های پیچیده ، از استثنائات استفاده کنید. این منجر به بهبود کنترل و جریان خطای شفاف تر می شود.
4.
اعلان های کاربر پسند یا رفتارهای برگشتی را ارائه دهید تا اطمینان حاصل شود که برنامه شما می تواند بدون شکستن سیستم به طور کلی مشکلات را برطرف کند.
5. به طور مرتب سیاهههای مربوط را کنترل و مرور کنید
نظارت منظم بر روی سیاهههای خطا لازم است تا اطمینان حاصل شود که هیچ مشکلی جدی نادیده گرفته نمی شود.
پایان
توسعه PHP نیاز به استفاده از رسیدگی به خطا دارد و برای تضمین اینکه برنامه ها به راحتی اجرا می شوند ، ضروری است که مدیریت خطای قوی را در بر بگیرد. شما ممکن است با آگاهی از انواع مختلفی از مشکلات ، استفاده از گیرنده های سفارشی و گزارش خطا ، و استفاده از ورود به سیستم و استفاده از استثنا ، برنامه های PHP قوی تری ایجاد کنید.