abass
کاربر فعال
عضو افتخاری گروه موبایل وتبلت
عضو افتخاری گروه کامپیوتر
عضو افتخاری گروه برنامه نویسی
عضو افتخاری گروه الکترونیک
- Jun 7, 2020
- 436
- 689
?خطاها در PHP چگونه رخ می دهد؟
?زمانیکه کدهای نوشته شده شما به هر دلیلی دارای ایراد باشه (سینتکس یا منطق) اسکریپت شما دچار خطا خواهد شد و نوع خطا به همراه توضیحات مربوط به خطا ، برای مرورگر کاربر ارسال خواهد شد.
?? این مکانیزم بصورت پیشفرض در PHP وجود داره و توسط یک تابع Built In پیاده سازی شده است.
راهکارهای مدیریت شخصی خطاها در PHP :
می توان از بروز خیلی از خطاها در php جلوگیری کرد و بخشی از خطاهای قابل پیش بینی را تحت کنترل خود در آورد
- ——- — - - — - — - —
به عنوان نمونه هرگاه شما دستور زیر را برای باز کردن یک فایل متنی بنویسید در حالیکه آن فایل بر روی سرور شما یا حداقل در مسیری که مشخص کردید وجود خارجی نداشته باشه ، خطایی رخ خواهد داد که ما می تونیم خیلی راحت با استفاده از تابعی خاص ، قبل از باز کردن فایل از وجود آن مطمئن بشیم و در صورت عدم وجود فایل بر روی حافظه سرور عملیات مربوطه (باز کردن فایل) را انجام ندهیم .
fopen("test.txt","r");
در صورت موجود نبودن فایل مشخص شده ("test.txt") ، اجرای کد بالا منجر به بروز خطا خواهد شد لذا می توان با یک مکانیزمی ساده از بروز چنین خطایی جلوگیری کرد:
در کدهای بالا ما ابتدا با تابع file_exists از موجود بود فایل مورد نظر مطمئن شدیم سپس اقدام به باز کردن اون کردیم . همینطور از تابع دیگری بنام die نیز استفاده کردیم که از اجرا شدن ادامه اسکریپت جلوگیری کنیم. حالا بر اساس کدهای نوشته شده در بالا در صورت نبودن فایل در مسیر مشخص شده پیغام " File not found" به کاربر نمایش داده می شود و هندلر خطای php وارد عمل نخواهد شد . شما در این آموزش یاد میگیرید که بایستی حدالامکان کنترل برنامه رو خودمون بدست بگیریم و اجازه ندهیم که توابع مدیریت کننده خطای توکار خود php وارد عمل بشه پس تا اینجای کار متوجه شدید که بایستی با تسلط نسبی به توابع و شناخت امکانات موجود php می توانیم تا حد امکان ، خطاهارو کنترل و مدیریت کنیم .
?زمانیکه کدهای نوشته شده شما به هر دلیلی دارای ایراد باشه (سینتکس یا منطق) اسکریپت شما دچار خطا خواهد شد و نوع خطا به همراه توضیحات مربوط به خطا ، برای مرورگر کاربر ارسال خواهد شد.
?? این مکانیزم بصورت پیشفرض در PHP وجود داره و توسط یک تابع Built In پیاده سازی شده است.

می توان از بروز خیلی از خطاها در php جلوگیری کرد و بخشی از خطاهای قابل پیش بینی را تحت کنترل خود در آورد
- ——- — - - — - — - —
به عنوان نمونه هرگاه شما دستور زیر را برای باز کردن یک فایل متنی بنویسید در حالیکه آن فایل بر روی سرور شما یا حداقل در مسیری که مشخص کردید وجود خارجی نداشته باشه ، خطایی رخ خواهد داد که ما می تونیم خیلی راحت با استفاده از تابعی خاص ، قبل از باز کردن فایل از وجود آن مطمئن بشیم و در صورت عدم وجود فایل بر روی حافظه سرور عملیات مربوطه (باز کردن فایل) را انجام ندهیم .
fopen("test.txt","r");
در صورت موجود نبودن فایل مشخص شده ("test.txt") ، اجرای کد بالا منجر به بروز خطا خواهد شد لذا می توان با یک مکانیزمی ساده از بروز چنین خطایی جلوگیری کرد:
PHP:
محتوای بلوک کدها در دسترس شما نیست. برای مشاهده بلوک کدها، وارد انجمن شوید یاثبت نام کنید
در کدهای بالا ما ابتدا با تابع file_exists از موجود بود فایل مورد نظر مطمئن شدیم سپس اقدام به باز کردن اون کردیم . همینطور از تابع دیگری بنام die نیز استفاده کردیم که از اجرا شدن ادامه اسکریپت جلوگیری کنیم. حالا بر اساس کدهای نوشته شده در بالا در صورت نبودن فایل در مسیر مشخص شده پیغام " File not found" به کاربر نمایش داده می شود و هندلر خطای php وارد عمل نخواهد شد . شما در این آموزش یاد میگیرید که بایستی حدالامکان کنترل برنامه رو خودمون بدست بگیریم و اجازه ندهیم که توابع مدیریت کننده خطای توکار خود php وارد عمل بشه پس تا اینجای کار متوجه شدید که بایستی با تسلط نسبی به توابع و شناخت امکانات موجود php می توانیم تا حد امکان ، خطاهارو کنترل و مدیریت کنیم .