Hide this notice

مرحبا أنت تستخدم انترنت اكسبلورر ٦ و هو متصفح اصدر في العام 2001 الا يبدو لك ذلك قديما .

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

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

Post Pic

دروة أساسيات php -101

أساسيات لغة الphp مفاهيم و تراكيب اللغة .. و كل ما تحتاجه لتبدأ ..

مرحبا بك إلى أول خطوات رحلتك البرمجية في عالم البي اتش بي..

ماهو بالضبط الphp؟

البي اتش بي هي لغة من نوع server side scripting language ..تشبه في تركيبها لغة السي و الجافا و البيرل .. لكنها بالتأكيد ابسط .. بدات كحلم رجل واحد و هو (Rasmus Lerdorf)فكر كيف يمكن تضمين شفرات الhtml شفرات أكثر تعقيدا ..و هكذا نمت اللغة بمجهودات فردية لتصبح احد اقوى و اسهل اللغات تعلما..اليوم php ترمز إلى Hypertext Preprocessor

و قبل ان يغلبك النعاس..سنحاول ان نجمع الأدوات لنبدأ.

.

مأذا احتاج لأبدأ

بجانب الصبر و العزيمه و قبل كل شي التوفيق من الله انت تحتاج إلى التالي::

  1. محرر للبي اتش بي.. لمستخدمي ويندوز يمكنك استخدام برنامج النوت باد NotePad المرفق بالوندوز .. او يمكنك تحميل اي من برامج تحرير ال php من هنا أما مستخدمي ماك جرب برنامج Smulatron
  2. انت تحتاج إلى بيئة تجرب فيها برامجك ..هذه البيئة إما داخلية إو خارجية.. بمعنى اما اتحجز موقع يدعم البي اتش بي .. و في كل مرة تحمل البرنامج إلى السيرفر لتجربته .. أو ان تقوم بتجربة البرامج داخليا على جهازك بتحوليه إلى سيرفر.. يمكنك البحث عن مستضيف يدعم البي اتش بي أو يمكنك تركيب سيرفرك الخاص على جهازك العملية بسيطة هناك عدة حزم و التي يمكنك تحميلها و تركيبها على جهازك كأي برنامج عادي انظر القائمة هنا و اختر ما تراه مناسبا ..( لمستخدمي ويندوز ) بالنسبة لمستخدمي ماك فالسيرفر يكون مدمج مع نظام التشغيل ( إعداد المخدم الشخصي على ماك )

تركيب الجملة؟

ملف البي اتش بي هو ملف نصي عادي ننشاه في برامج تحرير النصوص و نضمنه شفرات البي اتش بي بالإضافة إلى شفرات الHtml و يكون إمتداد الملف إما .php أو .php3 او phtml او أي امتداد يدعمه سيرفرك .. في الملف الواحد يمكن تضمين شفرات الhtml و نضع في وسطها كود البي اتش بي.. مثل


<?echo "I love PHP ";

?>

و الآن انسخ الشفرة من الأعلى و ضعها في ملف و احفظة بامتداد php إما على سيرفرك الشخصي او في السيرفر الذي قمت بحجزه..لو كنت وضعته في سيرفر الشخصي جرب استدعاه في المتصفح على localhostلو حفظنا الملف باسم love.php


http://localhost/love.php

الهروب من الhtml ؟

كيف يعرف البرنامج ان الشفرة التالية هي شفرة php و ليست html ببساطة هناك عدة طرق .و لك الحرية باستخدام الطريقة المناسبة لك ..


<?php

الكود هنا

?>

و هي الطريقة الاكثر شيوعا


<?

الكود هنا

?>

و هي الطريقة التي يمكنك استخدامها عند اسنخدامك محررات مثل الفرونت بيج و هناك طرق اخرى منها


<script language="php">

الكود

</script>

أو …


<% الكودهنا %>

فصل الجمل

كل جملة برمجية في البي اتش بي تنتهي بالفاصلة المنقوطة ; echo “I love Php “;

التعليقات

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

تكتب الملاحظات بعدة طريق


// هذه ملاحظة تظهر في سطر واحد فقط ..
/* هذا التعليق يمكنك كتابته ..
في اكئر من سطر... */

الphp تدعم المتغيرات التالية..

  • Integers الأرقام الصحيحة
  • Floating Point Numbers
  • الارقام العشرية
  • Strings النصوص
  • arrays المتسلسلات

في البي اش بي يتم التعبير عن المتغير مسبوقا بالرمز $ فمثلا


<?

$a = 5 ;

?>

في السطر السابق المتغير a يكون له القيمة 5

Integers الأعداد الصحيحة

و الphp تدعم الأعداد الصحيحة بأنواعها في المثال التالي في كل مرة سنعين قيمة لعدد صحيح في للمتغير


<?

$a = 1234 ; // هذا عدد صحيح عادي

$a= -123; // هذا عدد صحيح سالب

$a= 0123 ; // هذا عدد في النظام الثماني يساوي 83 عشري

$a= 0x12 ; //هذا عدد في النظام السادس عشر و يساوي 18

?>

Floating point number(Double) الأرقام العشرية


<?

$a = 1.234 ; // هذا رقم عشري

?>

String النصوص أو سلسلة الأحرف

يمكنك ان تعيين قيمة نصية لأي متغير مهما كان .

  • النص بين علامتي التصيص

<?

$a = "مرحبا بك في قطر..";

$a = " النص هنا";

?>

  • بين علامتي التنصيص المفردة

<?

$a = 'مرحبا بك في قطر';

?>

  • باستخدام >> للكتابة في أكثر من سطر

<?

$a=<<

و يمكن هنا

EOD;

?>

استثناءات

هناك عدد من الرموز التي لا يمكنك استخدامها مباشرة بين علامتي التنصيص ” او ‘ مثلا و يجب ان ان تسبقها ب لاحظ التالي
مثلا ماذا لو أدرنا ان نضع الجملة التالية في المتغير الجملة التالية welcome “arab” ستظهر بالشكل التالي


<?

$a= "welcome" arab ";

?>

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


<?

$a="welcome /" arab ";

?>

فبوضع علامة/ قبل العلامة ” نحن نخبر البرنامج ان يتجاهل هذه العلامة و يعتبرها نصا و ليست من ضمن الاوامر .. هذا الامر ينطبق عند استخدام الرموز $ و ” و ‘ داخل الجملة النصية

السلاسل Arrays

هو متغيير يحمل عددمن القيم يمكن تصورها كجدول .. يحتوى على عدد من الخلايا مثلا لدينا المتغير a يحتوي على عدد من الخلايا

0 1 2 3 4 5

فالجدول السابق يحتوي على 6 خلايا .. لو افترضنا أن كل خلية تملك قيمة ..

100 200 300 400 50

و الأن نريد طباعة قيمة الخلية الثانية .. بما أن العد بدأ من الصفر فرقم الخلية سيكون


<?

echo $a[1] ;

?>

اي اطبع الخلية و الذي سيطبع الرقم 200

و لكن ماذا لو أردنا ان نضيف قيمة للخلية الاخيرة.. و تعديل قيمة الخلية رقم 4


<?

$a[5] = "Qatar" ;

$a[4] = 10000 ;

?>

لآن لاحظ أن اننا عينا قيم نصية للسابق و ليس قيم رقمية و يمكن دمج مجموعة من الانواع في كل سلسلة.. و الأن لنفرض انك لا تعرف عدد الخلايا في السلسلة.. و لكنك تريد أن تضيف قيمة في نهاية الخلية ..الطريقة التالية هي المناسبة,,


<?

$a[] = 10 ;

?>

فانت لم تحدد رقم الخلية لكن.. البرنامج سيفترض اضافتها في نهاية السلسلة ..

السلاسل ذات الابعاد المختلفة..

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

0 1 2 3 4
0 1 2 3 4

لو اردنا الوصول إلى قيمة الخلية المظللة.. سنحتاج إلى التالي


<?

$a[1][1] ;

?>

أي الخلية في الصف رقم 1 ( كوننا نبدا من الصفر) و الخلية الثانية.. هناك عدد من الfunction المهمات التي تسهل عليك التعامل مع السلاسل ترتيبها.. مثل asort() , arsort () و غيرها..

ما هي ؟

هي معرفات constant يتم تعيين قيم ثابتة لها و بعد تعيين القيمة لا يمكن تغيرها خلال تنفيذ البرنامج .

مثال :


<?

// استخدام صحيح
define("FOO",     "something");
define("FOO2",    "something else");
define("FOO_BAR", "something more");

// استخدام غير صحيح
define("2FOO",    "something");

?>

الفرق بين الثوابت و المتغيرات ؟

1- عند استدعاء القيمة الثابتة لا نستخدم قبلها علامة $ فبعد تعريفها كل ما علينا هو كتابة الاسم مثلا من الامثلة السابقة لو اردنا طباعة FOO كل ما علينا القيام به هي


<?

echo FOO;

?>

2-الطريقة الوحيدة لإنشاء القيمة الثابتة هي Define

3-يمكن استخدام هذا الثابت constant من أي مكان في البرنامج من داخلة الدالة function أو من داخل Class و هذا لا يمكن في المتغيرات العادية

4-بعد تعيين قيمة للثابت لا يمكنك تغيرها خلال تنفيذ البرنامج أو إلغاءها .

5- الثوابت حساسة لحالة الاحرف فمثلا FOO مختلفة عن foo .

العمليات الرياضية

لنفرض ان لدينا المتغيرات $a و $b و عينا لكل منها قيمة .. اردناأجراء عدد من العمليات الحسابية عليها مثل الجمع والطرح .. الخ و ووضعها في المتغير $c


<?

$a = 2 ;

$b = 3 ;

$c = $a + $b ;  //سنحصل على القيمة 5

$c = $b -$a ;  // سنحصل على القيمة 1

$c = $a* $b // سنحصل على القيمة 6

$c = $b / $c ; // سنحصل على قيمة القسمة .. و اترك لك حسابها

$c = $a%$b ; //سنحصل على باقي قسمة $a , $b

?>

Bitwise Opeators

مقارنه بين $a , $b مثلا ..

$a & $b و إذا تحقق الشرط في a و b معا.
$a | $b أو إذا تحقق الشرط في $a أو $b

عمليات المقارنه Comparasion Operators

$a == $b المتغيران متساويان
$a ===$b المتغيران متساويان و من نفس النوع
$a > $b اكبر من
$a >=$b اكبر من او يساوي

عوامل الإضافة و الطرح

لو افترضنا اننا لدينا المتغيير $a $a =1; و اردنا اضافة واحد إليه بحيث يصبح 2 او طرح واحد منه بحيث يصبح صفر..

$a++ ارجع قيمة a ثم اضف واحد إليها
$a– ارجع القيمة ثم اطرح واحد منها

لاتخف سنشرح المقصد في التالي.


<?

$a = 5 ;

// عينا 5 ل a

echo "في هذه الحالة a تساوي 5 : $a ++";

// اي اننا اضفنا 1 إلى المتغيير لكن التاثير لن يظهر إلا في المرة القادمة ..

echo "في هذه الحالة القيمة سيتساوي 6 :: ++$a ";

// اي اننا اضفنا واحد للقيمة .. و التغيير ظهر فورا

?>

العمليات المنطقية. Logical Operations

$a and $b و تحقق الاثنين
$a or $b أو تحقق كلاهنا او احدهما
!$a نفي لقيمةa نفي تحقق الشرط
$a && $b و تحقق كلاهم

قد تلاحط في السايق وجود عمليات مكررة في الحقيقة انها لا تفرق عن بعضها إلا من حيث الاولويات و هو الموضوع الذي سنتحدث عنه الآن

أولويات العمليات

كل عملية لها اولوية معينه و يتم تنفيذها وفقا لترتيب معين …مثلا .. 1+5*3 سيرجع القيمة 16 و ليس 18 لماذ لأن للضرب اولوية اعلى فيتم تنفيذه اولا اي ان البرنامج يقوم بضرب 3 في 5 اولا ومن ثم جمع القيمة على الواحد .. لكننا نريد ان نجمع اولا قيمة 1و 5 و ضربها في 3 ..يكون الحل باستخدام الاقواس لإجبار البرنامج على اجراء عمليات قبل اخرى .. (1+5) * 3 يمكنك الإطلاع على جدول بالأوليات من خلال مرجع php الرسمي.

جملة الشرط إذا if Statement

أي في حال حدث حدث معين .. افعل هذا.. في ابسط انواعها جملة الشرط هي if الشرط هنا
{
افعل كذا


<?

if( $a >$b )
{
echo ("a>b ");
}
?>

} اي إذا كانت قيمة المتغيير a اكبر من b اطبع جملة a > b هذا حدث سيقوم به البرنامج في حالة a اكبر من b لكن ماذا لو كان اردنا اشتراط حدث آخر في حالة a اقل من b.. if( $a >$b )
{


if( $a >$b )
{
echo ("a>b ");
}
else {
echo  "b
}
?>

} في المثال السابق طلبنا من البرنامج إذا كان aاكبر من B ان يطبع جملة معينة..و الا اطبع a اقل من b كما يمكن في حالة مثلا a اقل من b مثلا نريد وضع شرط جديد.. يكون ذلك عن طريق..


<?

if( $a >$b )
{
echo ("a>b ");
}
elseif ($a<$b)
{
echo "a
} else {
echo "لا اعرف..!!";
}
?>

بينما While

نطلب من البرنامج تكرار عدد من العلميات طالما ان شرط معين متحقق.. عن عند نفي الشرط .. تتوقف العملية.


<?

$a = 20 l;
while ($a >10 ) {
echo $a ;
$a--;
}
?>

في الكود السابق اعطينا a القيمة 20 و من ثم اشترطنا على البرنامج طالما ان المتغير اكبر من ال10 .. اطبع المتغيير ثم اطرح واحد منه .. ستتكرر العملية حتى تصل قيمة المتغيير لقيمة اقل من ال10 و يتوقف التكرار.. يمكنك نسخ الكود السابق و تجربته لتعرف ما اعني..

افعل طالما Do .. While

مشابهه للسابق إلا ان اختبار الشرط يتم في نهاية كل تكرار.. سنكتب الكود السابق باستخدام هذه الطريقة.. $a = 20;


<?

Do
echo $a ;
$a-- ;
while ($a >10 ) ;
?>

جملة التكرار For

يقال انها اكثر جمل التكرار تعقيدا..
فانت في هذه الطريقة يمكنك تحديد عدد مرات التكرار.. مثلا ..


<?

For ($i = 0 ; $i<10 ; $i++) {
echo $i ;
}
?>

اي ابدأ من التكرار من i =0 و و طالما المتغير اقل من ال10 ..كل مرة ارفع قيمة المتغيير بواحد و في كل مرة سيقوم البرنامج بطباعة قيمة i

كسر الحلقات Break

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

ٍجملة الاختيار Switch

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


<?

For ($i = 0 ; $i<10 ; $i++) {
echo $i ;
}
?>

ففي حال كانت قيمة المتغيير مساوية للصفر طلبنا من البرنامج طباعة صفر و في حال كان قيمة المتغيير واحد طلبنا منه طباعة الواحد .. كما يمكن تعيين حال افتراضية للمتغير.. مثلا لو ان المتغيير ليس 0 او 1 ..يمكن ان نطلب من البرنامج اجراء معين ..


<?

switch ($a) {
case 0 : echo "0";
break;

case 1 : echo "1";
break;

defualt: echo "لا اعرف..";
break;
}
?>

ما هي ؟

هي عبارة عن مجموعة من الأوامر البرمجية و التي يمكنك تجميعها و إعطاءها اسم او معرف و استدعاءها كل ما دعت الحاجة لذلك بدل من كتابة نفس الأوامر مرارا و تكرارا.

هناك دوال يوفرها لك الphp مثل مثلا echo أو Print لكن يمكنك إنشاء دوالك الخاصة .

سنعطيك مثال لتسهيل العملية .. في برنامجك تريد أن تجمع عددين في كل مرة . بدل من كتابة أمر الجمع كل مرة يمكنك انشاء دالة. في البداية كل دالة لها ثلاث عناصر

  • اسم : يجب أن يكون اسم مميز لم يتم استخدامه سابقا سواء من قبلك أنت أو من قبل أحد دوال php .
  • مدخلات Arguments ( اختياري )
  • مخرجات Returning value (اختياري)

سننشأ الدالة الخاصة بنا و سنسميهاplus


<?

function plus($no1,$no2){

$answer = $no1+$no2 ;

return $answer;

}

?>

لاحظ اننا استخدام الأمر function و تبعناه باسم الدالة الذي اخترناه و هو plus ثم فتحنا قوس في القوس نجدد القيم التي تحتاجها الدالة مثلا هنا ندخل متغيرين عددين هما no1 و no2 مع ملاحظة أنه يمكن ان يكون القوس فارغ أي ان الدالة ليس لها أي مدخلات و في النهاية استخدام الأمر return لإرجاع النتيحة .

في برنامجنا يمكننا استدعاء الدالة كالتالي


<?

$newnumber = plus(1,2);

echo $newnumber;

// سيطبع لنا البرنامج القيمة 3 حاصل جمع 1 و 2

?>

بقلم : فاطمة العمادي

أم و زوجة .. مصممة حرة و مصورة .. عرف الناس كتاباتي التقنية من خلال شخصية خيالية هي الدكتور نت . اصمم المواقع منذ العام ١٩٩٩م .

أوسمة : , , , , , , , , , , ,

التعليقات مغلقة .