خطا های احتمالی در برنامه نویسی php

ترجمه و تالیف : پشتیبانی راکت
تاریخ انتشار : 13 خرداد 98
خواندن در 2 دقیقه
دسته بندی ها : پی اچ پی

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

در این مقاله میخواهیم ارور ها و اخطار ها و هشدار های مربوط به php را شرح و روش برطرف کردن آن هارا توضیح دهیم.

1-Fatal error 

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

خطا های احتمالی در برنامه نویسی php

<?

Method();

echo "ok";

?>

اگر کد بالارو اجرا کنیم با خطا مواجه میشیم چون پی اچ پی نتونسته تابع method  پیدا کنه در اصل تابع متدی هم تعریف نکردیم . توابعی که در php وجود ندارد باید تعریف و سپس فراخوانی شود در غیر این صورت با ارور Fatal error مواجه می شویم.

2-parse error

خطا های احتمالی در برنامه نویسی php

این خطا که معروف به syntax error هم هست زمان اجرای برنامه مشخص میشه و زمانی رخ میدهد که یک سیمیکالن (;) نگذاشته باشیم و یا دچار یک اشتباه تایپی شده باشیم این خطا نیز از ادامه اجرای برنامه جلوگیری میکند.برای رفع این خطا ، خط هایی که ارور مشخص میکند را بازیابی و مشکلات تایپی که عموما شامل ; ، () ، : و... می باشد را برطرف و برنامه را run کنید.

<?

echo "php error"

echo "php is Excellent”;

?>

در کد بالا خطا به این دلیل بوجود می آید که در آخر کد اول سیمیکالن (;) نگذاشته ایم.

3-Warning

این نوع خطاها مانع از ادامه اجرای برنامه نمیشوند وزمانی بوجود می آیند که مثلا عددی را تقسیم به صفر کنیم . این خطا نیست در واقع هشداری است که به برنامه نویس می دهد و اعلام از غیر منطقی بودن عبارت و نتیجه مینماید که برنامه نویس بسته به نوع برنامه میتواند آنرا نادیده و یا به رفع آن اقدام نماید.

<?

$x =200;

$y =0;

$z = $x/$y;

echo "result: " . $z;

?>

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

Notices -4

این نوع اخطار هم مثل انواع خطاهای قبلی می تواند خودکار توسط خود PHP و یا با استفاده از تابع trigger_error که توسط کاربر ایجاد شده است درست شوند. این نوع خطا بیشتر هشداری است و برنامه نویس را از عملکرد توابع و کدهای نوشته شده آگاه میسازد.

<?php

    $x += 1;

    echo "RESULT: ". $x;

?>

trigger_error-5

این تابع از خطاهای احتمالی را پیش‌بینی میکند و از ایجاد اشکال در روند برنامه جلوگیری میکند.به عنوان مثال به کد های زیر توجه فرمایید:

<?php

$test=2;

if ($test>1)

{

trigger_error("Value must be 1 or below");

}

?>

با تو جه به کد بالا اگر متغیر از 1 بیشتر باشد برنامه باید تابع trigger_error  که شامل خطای 

Notice: Value must be 1 or below

in C:\webfolder\test.php on line 6

است را اجرا نماید.همان طور که مشاهده مینمایید در کد بالا از هشدار Notices استفاده شده است در واقع جواب تابع   هشدار Notices است که با متن تعریف شده نمایش داده میشود.

6- Deprecated error

این قابلیت از نسخه 5 به PHP اضافه شده است. این خطا در واقع یک راهنما است که به شما اطلاع می‌دهد که دستوری - فانکشن و قطعه کدی که در PHP استفاده کرده اید در نسخه‌های بالاتر ‌PHP منسوخ و حذف شده و شما می بایست تا قبل از به روز کردن به نسخه بالاتر به فکر جایگزین برای آن باشید معمولا با یک جستجوی ساده در سایت PHP میتوانید معادل جدید آن را پیدا کنید.

طبیعی است در صورت عدم توجه به این خطا ها و یا نادیده گرفتن آن ها اگر هم سایت کار کند با کندی و پرکردن لاگ های سرور و سایت به همراه خواهد بود.

خطاهایی که اغلب در حین برنامه نویسی به آنها برمیخورید از این دسته اند که با دانستن مفهوم خطا میتوانید به راحتی به رفع آن بپردازید علاوه بر این که ادیتور هایی مانند دریم وی ور خود دارای یک خطایاب قدرتمند است که شمارا به خط خطا راهنمایی و مثال هایی برای اصلاح و برطرف کردن آن برای شما در ادامه ی خط خطا می آورد تا شما بتوانید آنرا اصلاح نمایید.

گردآوری و تالیف پشتیبانی راکت
آفلاین
user-avatar

باور ما اینست که کاربران ایرانی لایق بهترین‌ها هستند، از این رو ما تمام تلاش خود را می‌کنیم تا بتوانیم فیلم‌ها و مقالات آموزشی بروز و کاربردی را در اختیارتان قرار دهیم تا با استفاده از آنها بتوانید جزء بهترین‌ها در صنعت طراحی و برنامه‌نویسی وب شوید. ما ادعا نمی‌کنیم که بهترین هستیم ولی همیشه تمام تلاش خود را می‌کنیم بهترین عملکرد را به شما ارائه دهیم.

مقالات پیشنهادی

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر لازم است ابتدا وارد سایت شوید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید