عنوان مقاله :

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

گردآوری و تالیف : محمد صادق زحمتکش
تاریخ انتشار : 31 خرداد 1396
دسته بندی ها : پی اچ پی

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

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

1-Fatal error 

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

<?

Method();

echo "ok";

?>

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

2-parse error

این خطا که معروف به 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 میتوانید معادل جدید آن را پیدا کنید.

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

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

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

برنامه نویسی شی گرا در php | قسمت پنجم

خب امروز در این پست رسیدیم به متدهایی جادوئی در شی گرایی php . در php برای ساده تر کردن بعضی از کارها در کلاس ها یک سری متدهای خاص و ویژه در شی گرایی...

برنامه نویسی شی گرا در php | قسمت چهارم

امروز میخوام در مورد یک بحث مهم در شی گرائی صحبت کنم و اونم وارثته . خوب اینجا من گفتم وارثت ، اولین چیزی که بعد از شنیدن وراثت به ذهنتون خطور کرد چی...

برنامه نویسی شی گرا در php | قسمت دوم

برای اضافه کردن اطلاعات در کلاس ها از property ها استفاده میشه . کار اونها دقیقا شبیه متغیرها در php معمولیه و تنها تفاوتشون اینکه قبل از تایپ اسم pro...

کپسوله سازی - برنامه نویسی شی گرا در php | قسمت سوم

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

دیدگاه های ارزشمند شما

برای ارسال نظر لازم است ابتدا وارد سایت شوید
هیچ دیدگاهی تا به این لحظه برای این موضوع ثبت نشده است