ابحث في هذه المدونة

الأحد، 31 أكتوبر، 2010

المتغيرات


بعيدا ً عن البرمجة فإن المتغيرات هي حاويات خزن ضخمة يمكنها خزن أي شيء ومهما كان حجمه حتى لو كان القمر "كيو" بكامله, إذن وظيفتها الأساسية هي خزن القيم سواء بصورة مؤقتة أم دائمية والمتغيرات في الواقع مرنة جدا ً حيث يمكنك التعامل مع القيم التي تحملها المتغيرات وتعديلها والإضافة إليها وطباعتها أو انجاز العمليات الرياضية عليها, بشكل عام, المتغيرات تتكون من عنصرين, اسم المتغير و القيمة المسندة.

يمكن أن لا يحتوي المتغير على أي قيمة لكن ستبقى القيمة موجودة وهي فارغة, كما أن كل متغير يجب أن يحمل اسما ً وفي PHP تسمية المتغيرات تخضع لشروط محددة وهي يجب أن تبدأ بعلامة الدولار دائما ً $ أما عن أسماء المتغيرات فيجب أن تبدأ بحرف أو _ ثم يليه حرف ولا يمكن استخدام الرموز مثل * أو / أو غيرها في تسمية المتغيرات وهذه بعض الأمثلة عن المتغيرات:



$_pet;
$my_name;
$number;



حيث جميع المتغيرات يجب أن تبدأ بعلامة الدولار وتنتهي بالفارزة المنقوطة, وان المتغيرات في الحقيقة حساسة لحالة الأحرف حيث أن هذه المتغيرات آلاتية جميعها متغيرات مختلفة تماما في وجهة نظر PHP :

 

$NAME;
$Name;
$name;


إن ما أنشأناه هنا هو متغيرات لا تحمل أي قيمة وللاستفادة من ميزة المتغيرات يمكننا إسناد القيم المختلفة لها والتعامل معها في وقت لاحق.

ملاحظة :
طالما يبدو "كيو" كأسم شخصية كارتونية, في الواقع أن كيو هو قمر صناعي غايته ليست التقاط الإشارة وإعادة بثها وإنما هو مشروع من قبل اليونسكو لحمل رسائل يكتبها أي شخص في العالم وخزنها على شكل أقراص مدمجة ثم سينطلق بها القمر في نهاية العام 2010-2011 إلى الفضاء وسيدور حول مدار الأرض لعدة عقود ثم يهبط بعد ذلك لينقل صورة إلى عالم الغد عن عالم اليوم تتضمن أفكار وقيم وحضارات اليوم. www.keo.org
     






لإسناد القيم إلى المتغيرات نستخدم إشارة = بعد اسم المتغير وقبل الفارزة المنقوطة:
$my_id=411;


حيث أن المتغير $my_id الآن أصبح لديه قيمة عددية وهي 411.

لإسناد قيمة عددية مهما كانت كبيرة نستخدم نفس الطريقة وهنا تتخلص PHP من عقدة نفسية لدى اغلب المبرمجين وهي "إدارة الذواكر" حيث في لغة PHP لست مضطرا لتحديد حجم المتغير كما في اللغات الأخرى .



لإسناد النصوص إلى المتغيرات سنستخدم علامات الاقتباس المزدوجة أو المفردة كما في المثال التالي:

$my_name="ali";
$my_name='ali';
ولفهم ميزة المتغيرات الفعلية لنشاهد هذا المثال:


1.<?php
2.$id=0;
3.$age="hello";
4.if (id==0)
5.{
6.$age="welcome admin";
7.}
8.?>


(لقد استخدمت الأرقام والنقاط التي تليها للتوضيح فقط ولا يتم كتابتها في البرمجة)




في السطر الأول يبدأ وسم PHP وينتهي بالسطر 8

في السطر الثاني أنشأنا متغير يحمل الرقم 0 وفي السطر الثالث أنشأنا متغير يحمل نص وهو hello .

في السطر الرابع أنشأنا جملة شرطية تختبر ما إذا كان المتغير id يساوي 0 (وهو كذلك) فيتم تغيير قيمة المتغير age من القيمة hello إلى welcome admin .

هنا تظهر مرونة المتغيرات في إمكانية تغيير قيمها عدة مرات ومن نصوص إلى أرقام أو بالعكس وهنا حقا ً طرائق واسعة للتعامل مع المتغيرات.

لا تهتم بشأن الأسطر 4-7 إن كنت لا تعرفها فهي مواضيع لم يتم شرحها بعد.

حسنا ً لقد تمكنا من تغيير قيمة المتغير إلى قيمة أخرى ولكن ماذا لو أردنا إضافة قيمة إلى قيمة أخرى؟ طبعا ً يمكنك تقنيا ً كتابة الكود التالي من خلال ما تعلمته:


1.<?php
2.$id=0;
3.$age="hello";
4.if (id==0)
5.{
6.$age="hello admin";
7.}
8.?>




لكن هناك طريقة أكثر منطقية من خلال إضافة (.) النقطة وتتم إما نضيف متغير يحمل نص أو عدد إلى متغير آخر أو نضيف قيمة إلى قيمة أخرى داخل المتغير الواحد, قم بفتح برنامج محرر النصوص لديك واكتب التالي ولا تكتب الأرقام والنقاط التي تليها:


1.<?php
2.$first_name="Mike";
3.$last_name="Shinoda";
4.$total_name=$first_name." ".$last_name;
5.echo $total_name;
6.?>




ثم اخزن الملف بأسم (name.php) داخل المسار C:\xampp\htdocs

في السطر الثاني تم إنشاء متغير يحمل قيمة نصية ثم في السطر الثالث متغير يحمل قيمة أخرى وفي السطر الرابع أنشانا متغير جديد يدمج المتغير الأول مع المتغير الثاني أي يدمج الاسم Mike مع الاسم Shinoda وكما تلاحظ تم وضع علامتي اقتباس مزدوجة مفصولة بفراغ وهذا الفراغ وضع لكي يمنع التصاق قيمة المتغير الأول (الاسم الأول) وقيمة المتغير الثاني (الاسم الثاني). وفي السطر الرابع نقوم بطباعة أو إخراج المتغير الجديد total_name الذي يحوي كلا الإسمين.

كما يمكنك فصل الإسمين بوضع فراغ بنهاية الاسم الأول أو بداية الاسم الثاني.

قم بفتح مستعرض الويب واذهب إلى http://localhost/name.php

ستلاحظ النتيجة التالية:

Mike Shinoda




استخدمنا النقطة لدمج متغيرين والحقيقة يمكننا دمج عدة متغيرات مع بعضها مهما كانت قيمها...

قم بإزالة علامتي الاقتباس من الملف السابق مع إزالة نقطة واحدة وذلك لدمج المتغيرين بواسطة نقطة واحدة ومن دون أي فاصل, قم بإعادة تحميل الصفحة وشاهد الفرق.
 

السبت، 30 أكتوبر، 2010

دوال الاخراج




إن تعريف الدوال هي أوامر برمجية تكتب لتحقيق غرض معين, هذه الأوامر يقوم مترجم اللغة بترجمتها و تنفيذها, بعض هذه الأوامر تخص المخدم كدالة الحصول على IP وبعضها يختص بقواعد البيانات كدالة mysql_connect والتي تقوم بالاتصال بقاعدة البيانات والبعض الآخر يختص بصفحة الويب نفسها كدوال الإخراج.

تعتبر دوال الإخراج هي الأكثر استخداما ً في صفحات الويب الديناميكية وتقوم هذه الدالة بعرض قيمة ما على الصفحة, قد تكون هذه القيمة نص أو رقم أو زر أو صورة أو حتى يمكن أن تكون دالة أخرى.

مبدئيا ً لدينا أربع دوال لإخراج القيم على الصفحة في لغة PHP وجميعها تعمل العمل نفسها مع بعض الفروق البسيطة.

 echo



أن الدالة echo تقوم بطباعة القيم على المتصفح وتتعامل بالدرجة الأساس مع النصوص والأرقام كما في المثال التالي:


<?php
echo "hello world";
echo ("I am a programmer");
?>


لا يوجد فرق بين الدالة الأولى والثانية عدا عند استخدامنا الدالة لطباعة المتغيرات فيجب استخدام echo(); لتجميع الكود البرمجي.

كما ترى بدأ كود PHP بوسم البداية <?php ثم كتبنا كود PHP وهو عبارة عن دالتين تقومان بطباعة نصوص مختلفة وما ستلاحظه هو وجود الفارزة المنقوطة عند نهاية كل سطر (أو بالأحرى عند نهاية كل سطر برمجي), فالسطر البرمجي يحتوي على أوامر أو دالة ما أو اختبار شرط .... وبنهاية كل من هذه الكتل البرمجية يجب وضع الفارزة المنقوطة دلالة للمترجم على انتهاء هذه الجملة البرمجية.

لذا ستعتاد على الفارزة المنقوطة وبالطبع لا يمكنك الاعتراض لان جميع لغات البرمجة الحديثة تعتمد الفارزة المنقوطة كنهاية للجملة البرمجية.



 print


  لا توجد فروق واضحة بين echo و print إلا أن هناك آراء حول أن print تتعامل بشكل أسرع مع المتغيرات:


<?php
print "hi there";
?>




 printf 

تعتبر printf مفيدة في حالة دمج النصوص مع المتغيرات الديناميكية حيث أن هذه الدالة الأسرع من حيث التعامل مع هذا النوع من القيم, ربما لن تجد فائدة قيمة من هذه الميزة لكن سيسهل تعديل القيم الديناميكية بصورة حيث تكون منفصلة عن النصوص والأرقام الاستاتيكية أو الساكنة :


<?php
printf ( "my favorite number is:", 5);
?>




سيؤدي هذا الكود إلى عرض الجملة:                  my favorite number is: 5


 sprintf 

بعض المبرمجين لا يعتبرون sprintf كدالة إخراج صرفة لكنها في النهاية تؤدي دور الإخراج بطريقة أو بأخرى, حيث يتم إسناد هذه الدالة إلى متغير ولا يمكن استخدامها كدالة منفردة:


<?php
$age=sprintf("my age is:", 19);
?>




كما إنها تؤدي نفس دور الدالة printf من حيث فصل القيم الديناميكية عن القيم الأخرى.



إن دوال الإخراج لا يقتصر دورها على إخراج النصوص فقط حيث ستتعلم في الدروس القادمة إخراج ناتج عملية رياضية أو ناتج جملة التحقق من الشرط وكذلك إخراج ناتج دوال أخرى.

الخميس، 28 أكتوبر، 2010

الرحلة مع PHP


بعد أن تعرفت على البرامج اللازمة للبدء بالبرمجة فقد حان الوقت لمواجهة PHP وجها ً لوجه, لذا كن لبقا ً ومؤدبا ً بعض الشيء, معظم الأشخاص الذين يتعلمون البرمجة يتركون فكرة التعلم عند وصولهم إلى التطبيق العملي.. فالأخطاء تظهر في كل مكان, الخطاء إملائية أخطاء منطقية وسيبدأ القارئ بقراءة الدروس من دون تطبيق ويصاب بخيبة الأمل عندما يدرك إن البرمجة ليست بهذه السهولة..

في الواقع جزء من هذا الكلام صحيح لكنه مبالغ فيه كثيرا, لذا فسأحاول جعل هذه الدروس اقرب إلى أذهان المبتدئين مع التطبيقات والأمثلة العملية السهلة, واجبك هو التركيز والمتابعة والمتسلسلة.

وسوم لغة PHP


لكل لغة هنالك إشارة بدء وأخرى للانتهاء وذلك ليتعرف عليها المخدم الخاص بهذه اللغة وليميزها عن باقي اللغات هذه الإشارات تسمى الوسوم وللغة PHP عدة وسوم يمكن للمترجمات التعرف عليها:


  <?      ?>   


في الحقيقة هذه هي اقصر وأسهل وسوم لغة PHP والتي يمكن استخدامها كما يلي:



<?
هنا لغة php
?>


بعيدا ً عن السهولة والراحة فلهذا الوسم مساوئ أيضا ً لاسيما في صفحات الويب التي تحتوي على أكثر من لغة, فهذا الوسم يتعارض مع وسوم لغات XML و XHTML التي تحتوي على نفس وسم لغة PHP لذا لا أفضل استخدام هذا الوسم إطلاقا ً.




 <%   %>



إن كنت مبرمج لغة ASP وها أنت الآن تحاول تعلم تقنية جديدة فحتما ً انك ستألف هذا الوسم, الآن PHP6 تدعم هذا النوع من الوسوم وهو نفس الوسم الذي تستخدمه لغة ASP فبات يعرف بين مبرمجي PHP بوسم ASP.

إن PHP5 لا تدعم هذا الوسم وان جربت فلن تترجم الصفحة ويتم عرض الكود مباشرة. لكن يمكنك استخدامه في PHP6 بنفس الطريقة:



<%
هنا لغة php
%>




  <script/>     <script language="php">


اعتقد انك تحاول التفكير بكيفية كتابة هذا الوسم وما إذا يتم كتابة الترويسة <script/> أولا ً أم الأخرى, وهل هناك داع لعلامات الاقتباس... هذا الوسم ممل وطويل لذا اغلب المبرمجين إن لم يكن جميعهم لا يستخدمون هذا الوسم لذا لا اعتقد تريد أن تكون مختلفا ً عن العالم في هذه الفقرة.

لكن بالرغم من هذا يمكنك استخدام هذا الوسم إذا رغبت بالتنويع:


<"script language="php>
هنا لغة php
</script>




 <?php   ?>


يعد هذا الوسم من أكثر الوسوم استخداما ً فهو يعبر عن هذه اللغة أولا ً وتستطيع مترجمات PHP التعرف عليه بسهوله حتى بوجود لغات برمجة أخرى:


<?php
هنا لغة php
?>


هذا هو الوسم الذي أفضل أنت تعتاد عليه طلية حياتك البرمجية لن تتعود على كتابته الآن ولكن ستفعل بعد بعض الوقت, صدقني ما أحاول فعله هنا هو منعك من اكتساب عادات برمجية سيئة!

التعليقات



عندما تقرر العمل في شركة كمطور ويب فأول شيء عليك الاعتياد عليه هو العمل الجماعي أي انك جزء من فريق ستعملون على مشروع ما, فعندما يكون على عاتقك برمجة صفحة ما وسيكون زميلك مسئول عن تطويرها بعد مدة معينة, لابد أن يعرف ماهية الكود البرمجي الذي كتبته وماذا يعمل, ومن أين أتيت بهذا المتغير مثلا ً, لذا تقدم PHP طريقة رائعة للتعليق على الكود البرمجي وشرحه من خلال مجموعة ترويسات مبسطة يمكنك تضمينها على شكل اسطر منفردة أو مجموعة اسطر أو بعد السطر البرمجي مباشرة, لنتعرف على طرق التعليق:



1. طريقة double-slash وان أي كلمة بعد هذه الإشارة تعتبر تعليقا ً ولكن تكفي لسطر واحد فقط:


<?php
 هذه دالة تقوم بطباعة كلمة hello //
;"hello"echo  
?>




2. طريقة التعليق متعدد الأسطر, حيث تضع / ثم * وبعدها يمكنك كتابة تعليقك لا يهم إذا كان متعدد الأسطر أو لا ثم اغلق منطقة التعليق بواسطة * ثم /:


<?php
*/
هذه دالة تقوم بطباعة كلمة hello
والدالة التي بعدها تنشئ متغيرا ً
/*
;"hello"echo  
$new;
?>




3. طريقة # للتعليق في سطر واحد, فهي تشبه // إلى حد كبير :


<?php
هذه دالة تقوم بطباعة كلمة hello #
;"hello"echo  
?>




الأربعاء، 27 أكتوبر، 2010

Dreamweaver



إن من أشهر البرامج استخداما في برمجة صفحات الويب الديناميكية هو Dreamweaver . قبل أن تتحد شركتا Adobe و Macromedia كان Dreamweaver هو إصدار شركة Macromedia ولم يكن يدعم اللغة العربية بشكل كامل, أما الآن فقد أصبح Dreamweaver من إنتاج شركة Adobe المشهورة .

فقد ظهر Dreamweaver CS2 و Dreamweaver CS3 و Dreamweaver CS4 و مؤخرا ً Dreamweaver CS5.

إن إصدارات CS والتي تحمل اللاحقة ME (Middle East) قد بدأت عمليا ً الدعم المتواصل للغة العربية على طول السنوات المنصرمة وبدءا ً من الإصدار CS3 الذي قدم دعما ً كاملا ً للغة العربية سواء باستخدام واجهة تصميم الصفحات أو الواجهة البرمجية.

يمكنك شراء برنامج Adobe Dreamweaver ذو إصدارات CS ME من المكتبات المتوفرة بمنطقتك أو من خلال الانترنت, وعادة يتم بيع حزمة Adobe الكاملة التي تتضمن برامج تصميم ومعالجة الصور والصوت وتحرير الفيديو وغيرها من البرامج المهمة للمصممين في مختلف المجالات.

بالنسبة لي فأنا استخدم برنامج Adobe Dreamweaver CS3 ME ولذا سأقوم بشرح طريقة تثبيته أما بالنسبة لبقية الإصدارات فلا تختلف عملية تثبيتها تقريبا.

من المميزات الكثيرة التي يوفرها Dreamweaver هي بالإضافة إلى تلوين الكود البرمجي وترقيم الأسطر فهو يحتوي على كتل برمجية جاهزة تساعد في عملية البرمجة وكذلك يحتوي على بعض الأدوات المساعدة مثل معالج إنشاء اتصال بقواعد البيانات أو صفحة دخول المستخدم الذي يغنيك عن كتابة العشرات من الاكواد البرمجية, كما يوفر Dreamweaver ميزة تحرير الصفحات مباشرة على المخدم أي لا تحتاج لتحميل الصفحة وتحريرها على حاسوبك ثم رفعها على المخدم كما كان سابقا, هناك العديد من الميزات التي ظهرت في Adobe Dreamweaver CS3 قد لا يسعني ذكرها الآن.

لتثبيت برنامج Adobe Dreamweaver CS3 ME قم بفتح ملف التثبيت الرئيسي سيتم في البداية فك ضغط ملفات التثبيت إلى مجلد في أي مسار تختاره ثم بعدها سيتم تلقائيا فتح نافذة معالج التثبيت الذي سيرشدك خلال مراحل هذا البرنامج. بعد انتهاءك من تثبيت وتسجيل المنتج قم بفتحه, في البداية سيسألك ما إذا كنت تريد استخدام البرنامج بواجهة التصميم ام بواجهة البرمجة, قم باختيار واجهة التصميم حيث يمكنك التبديل بينهما لاحقا :





في الصفحة الرئيسية للبرنامج ستشاهد على اليسار قائمة الملفات التي فتحتها مؤخرا أما في الوسط Create New فمنها يمكنك إنشاء الملفات بالصيغ المختلفة مثل HTML, ColdFusion, PHP, ASP وغيرها من لغات برمجة صفحات الويب الديناميكية والاستاتيكية, كما يوجد في الأسفل خانة Properties حيث تعرض خصائص العنصر أو النص أو الصورة مثل اللون والحجم وإمكانية تعديلها, أما الشريط الجانبي (على اليمين) فيحتوي على CSS وهي خانة عرض خصائص صفحات الأنماط الانسيابية التي تستخدم في بناء صفحة الويب من الناحية الشكلية, وكذلك يوجد Application الذي يحتوي على مجموعة مميزات تسهل عملية البرمجة مثل الاتصال بقاعدة البيانات وتفاعل صفحات المخدم وأوامر تتعلق بالصفحات الديناميكية, وكذلك خانة Tag Inspector التي تحتوي على الخصائص العامة للصفحة الحالية والمؤثرات التي يمكن إضافتها للصفحة كمؤثرات DHTML و JavaScript .

أما خانة Files فهي تستعرض مسار المشروع الحالي الذي تقوم بالعمل عليه سواء كان في حاسوبك الشخصي أم على مساحة على الويب ويُظهر الملفات الموجودة وإمكانية رفع ملفات جديدة وحذف أخرى والكثير من المميزات الأخرى الموجودة.

إن ما يتميز به Dreamweaver هو الإضافات أو Extensions حيث تسهل الإضافات عملية إنشاء موقع بشكل كبير جدا وتقلص الوقت اللازم لذلك حيث يحتوي Dreamweaver على مجموعة إضافات غنية مبيتة في البرنامج كما يمكنك تنزيل الإضافات التي تناسبك من الويب وتثبيتها من خلال خاصية Extension Manager واستعمالها لاحقا, فتوجد إضافات إنشاء واجهة الموقع وإضافات خاصة بإنشاء سجل زوار وأخرى يمكنها إنشاء اكواد تسجيل دخول وخروج المستخدمين وغيرها الكثير مما جعل من عملية تصميم المواقع عملية ممتعة حقا وهناك الكثير من الأشخاص غير المبرمجين الذين يقومون بإنشاء مواقع ديناميكية صرفة باستخدام هذه الإضافات والتي ستمكنهم من إنشاء اكود مخصصة بواسطة مربعات حوار .

ملاحظة:
ليس ملزما ً عليك اختيار بمحرر نصوص محدد, فأنت حر في الاختيار طالما هذه البرامج تؤدي نفس المهمة, ولكن في رأيي الشخصي فأني أفضل إن تستخدم Dreamweaver فأنه نوعا ً ما سيحبب إليك البرمجة إن كانت الأخيرة تسبب لك مشكلة نفسية.


في الدروس القادمة ستخوض عملية البرمجة بشكل جدي وستقوم بالتعرف على PHP أكثر كما سأتطرق لاحقا لمفاهيم هذه اللغة وبعض الدوال فيها مضمن أمثلة تطبيقية وشرح مفصل.

لذا لتكون لوحة مفاتيحك مستعدة وأنت أيضا, ولا بأس بكوب قهوة إثناء التعلم.

الاثنين، 25 أكتوبر، 2010

محرر النصوص- تهيئة البيئة المناسبة للبرمجة


2- محرر النصوص:



هناك عدة أنواع من محررات النصوص التي تستطيع استخدمها لبرمجة صفحات الويب وهي حقا توفر خدمات وإضافات كثيرة ومفيدة .
 
قوس كبير مزدوج: Notepad
 


إن كنت قد حاولت تعلم البرمجة بلغة ما سابقا فعلى الأرجح انك قرأت أو سمعت بعض المبرمجين لا يهتمون بمحرر النصوص غالبا وربما قد ينصحونك باستخدام Notepad (محرر النصوص المبيت في Windows) لأنه سهل ومجاني, في الحقيقة إن محرر النصوص ک(Notepad) يجعل المهمة أصعب بالنسبة للأشخاص الذين يتعلمون البرمجة لأول مرة, رغم أن الأخير يمكن استخدامه لبرمجة صفحات الويب لكن هناك بالطبع خيارات أفضل.

لقد استخدمت لتوك Notepad عند اختبار المخدم, وكان على الأرجح سهل الاستخدام في نظرك.. في البرمجة مصطلح "سهل الاستخدام" لا يعني شيئا ً مهما ً.
يمكنك استخدام برنامج Notepad الموجود في إصدارات ويندوز المختلفة.

Start>all programs> accessories> notepad



قوس كبير مزدوج: Notepad++





وسيلة شرح على شكل سحابة: ملاحظة
تخطيط انسيابي: معالجة متعاقبة: رغم تقارب الأسماء, فأن Notepad  و Notepad++ لا يعودان إلى نفس المصدر فبرنامج Notepad مطور من قبل شركة مايكروسوفت أما Notepad++  فهو برنامج مفتوح المصدر مطور من قبل فريق أرادوا أن يجمعوا بين خصائص Notepad الاعتيادي وبعض البرامج المتقدمة.
 











إن مشروع Notepad++ هو مشروع تحت رخصة المصدر المفتوح أي مما يعني إن برنامج Notepad++ مع كافة إصداراته هي ممكنة الاستخدام مجانا.

يمكنك تنزيل Notepad++ الإصدار 5.8.0 من الموقع http://notepad-plus-plus.org/ar/release/5.8.2



بعد تنزيل البرنامج قم بفتحه, ستظهر نافذة تطلب منك اختيار لغة معالج التثبيت.









قم بأختيار اللغة العربية واضغط OK بعدها ستظهر لك نافذة الترحيب قم بالضغط على التالي وكذلك نافذة مسار التثبيت..بعدها ستصل إلى خطوة اختيار المكونات قم بتحديدها كما في الصورة أدناه واضغط تنصيب.








بعد انتهاء التثبيت سيفتح البرنامج تلقائيا وان لم يفعل يمكنك فتحه من سطح المكتب, سيقوم البرنامج بفتح ملف يحتوي على التحديثات التي قام فريق Notepad++ بإضافتها في هذا الإصدار :








يحتوي Notepad++ العديد من الخصائص المفيدة لتسهيل عملية البرمجة كترقيم الأسطر, ففي البرمجة هناك مصطلح يسمى Bugs أو العلل وتعني الأخطاء المنطقية أو الإملائية التي يرتكبها المبرمج أثناء عملية البرمجة مما يؤدي إلى عدم عمل البرنامج أو صفحة الويب بالشكل المطلوب, لذا فيتوجب على المبرمج إزالة هذه العلل Debugging من خلال اختبار الصفحة أو البرنامج ومعرفة موقع الخطأ.. في PHP تحديدا ً يقوم مترجم لغة PHP بترجمة الصفحة وإذا كان هناك خطأ ما فسيتوقف المترجم عند هذا الخطأ ويرسل نوع الخطأ والسطر الذي يوجد فيه, لذا إن كنت تستخدم محررات نصوص لا تحتوي على ميزة ترقيم الأسطر فمن الصعب إيجاد خطأ في صفحة تحتوي علي 200 سطر برمجي في برنامج لا يرقم الأسطر.

لذا فأن فائدة Notepad++ تكمن هنا, إضافة إلى ذلك فأن برنامج Notepad++ يقوم بتلوين الكود البرمجي مما يسهل إيجاده في وقت لاحق, وما اقصده هنا هو تلوين الدوال بلون و وسوم لغة ما بلون آخر والمتغيرات والقيم بلون آخر وهكذا.. إن Notepad++ ليس محرر نصوص فقط بل يمكن استخدامه لكتابة اكواد للغات برمجة مختلفة يمكنك اكتشاف اللغات التي تستطيع البرمجة بها بسهولة من خلال قائمة "لغة البرمجة" .

 

وسيلة شرح على شكل سحابة: ملاحظة 

تخطيط انسيابي: معالجة متعاقبة: ربما قمت بالاحتجاج على إشارة ++ (وتلفظ plus plus دائما) فهي الآن تستعمل في كثير من التقنيات ولغات البرمجة وحتى أسماء الشركات, إن مصدر هذه الإشارة هو دعابة برمجية أطلقها المبرمجون على لغة C++ ففي لغة البرمجة, الإشارة ++ تعني زيادة القيمة بمقدار واحد ولكن ليس هذا المقصود حرفيا من استخدامها بل هو تعبير رمزي, فكما تزيد الإشارة قيمة المقدار بواحد فأن هذه البرامج أو لغات البرمجة کC++ و J++ .. قد حوت على إضافات ومميزات لم تكن تحويها اللغات أو الإصدارات السابقة, يمكنك الآن كتابة اسمك وإضافة ++ إليه لكي لا يبقى سبب تحتج بشأنه.