اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

http://2.bp.blogspot.com/-hMWLyi9cTpY/UUIQX1zpUaI/AAAAAAAAJ9Y/7Jf27UZOkt8/s1600/images.jpeg

 

في هذا الدرس سوف نشرح ماهو php  أو ماهي لغة php ؟و لماذا أنا بحاجة إليها؟

بي اتش بي (PHP) هي  لغة البرمجة (لغة سكريبت) على الارجح الاكثر شعبية على شبكة الإنترنت. يتم استخدامها لتحسين صفحات الويب. مع PHP، يمكنك أن تفعل أشياء مثل إنشاء الصفحات تسجيل الدخول اسم المستخدم وكلمة السر ، والتحقق من المعلومات من نموذج،و إنشاء منتديات، ومعارض صور، والاستقصائية، و مجموعة أكثر بكثير. و كثيرا ما نرى صفحات ويب تنتهي بـ PHP، هذا يعني أن المؤلف قم بستخدام أكواد PHP لبرمجة أو بعض  HTML القديمة وسهلة، وهناك مواقع شعبية تستعمل PHP متل موقع أتواصل الجتماعي.

ومن المعروف أن PHP كلغة تعمل في الخادم (server)  فقط . لذلك لا يمكن أن تعمل PHP أو تنفيذها على جهاز الكمبيوتر الخاص بك، ولكن على الكمبيوتر الذي يطلب الصفحة من سيرفر ما . يتم تسليم النتائج من لك سيرفر، وعرضها في المتصفح الخاص بك. هناك أيضا  لغات البرمجة الأخرى التي قد سمعت بها هي ASP، بيثون وبيرل. (أنت لست بحاجة إلى معرفة أي من هذه اللغات لكي تبدأ فتعلم PHP. في الواقع، لتعلم من هذه الدروس لن تحتاج لأن تكون عندك خبرة في البرمجة على الإطلاق.)

التفسير الأكثر شعبية لـ PHP هو "Hypertext Pre-processor". ولكن ذلك يجعله HPP، وبالتأكيد؟ إن التفسير بديل هو أن الأولى أتى من الإصدار الأقدم من هذه اللغة البرمجة، الذي كان يسمى "Personal Home Page Tools". على الأقل الآن يمكنك الحصول على الحروف "PHP" بالترتيب الصحيح!

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


و بطبيعة الحال لمتابعة مع هذه الدروس، سوف تحتاج لهذه الملفات في الدورة التدريبية
                                                  

 

 

  • Like 3
قام بنشر

قبل أن تتمكن من كتابة واختبار البرامج النصية PHP الخاص بك، هناك شيء واحد سوف تحتاجه - هو الخادم "Server" ! لحسن الحظ، لا تحتاج إلى شراء واحدة. في الواقع، لن تحتاج إلى انفاق أي أموال اضافية. هذا هو السبب في أن PHP شعبية جدا! لديك إما الحصول على بعض المساحة على شبكة الإنترنت مع شركة استضافة تدعم PHP، أو جعل جهاز الكمبيوتر الخاص بك خادم عن طريق تتبيت خادم (سرفر). وذلك لأن PHP لا يتم تشغيله على جهاز الكمبيوتر- يتم تنفيذه على الخادم ثم يتم إرسال النتائج إلى الكمبيوتر العميل (جهاز الكمبيوتر الخاص بك).

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

-  أولا، تحتاج إلى تحميل البرنامج Wampserver. يمكنك الحصول عليه من هنا (في الموقع الرسمي للبرنامج):
تحميل Wampserver

  • Like 2
قام بنشر

what-is-php.jpg

لاشك ان الحاسب الآلى هو من اهم انجازات العصر الحديث , أنتجه العقل البشري ليساعده على إتمام المهام التى تحتاج وقت ومجهود لا طاقة للعقل البشري على تحملها. وكما نعلم جميعا ان الحاسب الآلى هو جهاز الكترونى يتكون من مجموعة من الادوات الكهروالكترونية (Hardware) تم ربطها مع بعض بمنطق معين لتنفيذ الاعمال بشكل آلى. وبالطبع يتم التحكم فى كيفية أداء هذه الأدوات عن طريق برمجية خاصة (Software).

من هنا يتضح انه توجد وسيلة ربط معينة بين البرمجية software والأدوات Hardware والتى تسهل على البرمجية التحكم فى الأدوات . وهذه الوسيلة التى تربط بينهما تسمى لغة الآلة Machine Language .

لكن قد يتولد سؤال , وهو هل الآلة لها لغة فعلا ؟ . بالطبع لا يوجد لغة للآلة بل الآلة فقط لا تفهم غير وضعين وهما وضع التشغيل On  ووضع التوقف Off . وبالتالى يكون الحاسب الآلى هو مجموعة من التغيرات بين حالتى التشغيل On والإيقاف Off من خلال عدد من الترانزيستورات Transistors , وكل ما يستطيع الحاسب الالى فعله حقيقة هو ربط بين مجموعة من الترانزيستورات المفتوحة On والمغلقة Off .

من هنا جاءت فكرة لغة الآلة Machine Language وهو التعامل مع الوضعين On و Off بلغة الأرقام بحيث يكون

  • الوضع المفتوح On يرمز له بالرمز 1
  • الوضع المغلق Off يرمز له بالرمز 0

وكل رقم منهم يعبر عن ترانزيستور واحد فقط , اى ان رقم مكون 7 أرقام يعبر عن 7 ترانزيستورات (كمثال 1101001) وبالتالى اصبحت اللغة التى تفهمها الآلة هى لغة الأرقام وتم تسميتها بالكود أو الرمز الثنائي (الكود المزدوج) Binary Code لأنه يعبر عن وضعين وهما On و Off , ويتم التعبير عن الكود المزدوج بوحدة البايت (Byte) .

  • Like 1
قام بنشر

تعريف البرنامج

البرنامج هو ملف نصي مكتوب على هيئة كود برمجى , وهذا الكود يسمي كود المصدر source code , وكما نعلم ان جميع الملفات داخل الحاسب الآلى لها امتداد Extension. كمثال : ملفات الصوت تحمل امتداد MP3 أو WAV , وملفات الفيديو تحمل امتداد MP4 أو AVI وهكذا

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

ولكن كيف يعمل البرنامج ؟

تختلف طريقة عمل البرامج حسب نوع الكود البرمجي , فهناك ملفات عبارة عن كود مزدوج خام binary code (بدون لغة برمجة) يمكن تشغيلها بشكل مباشر على الحاسب الآلى . أما بعض الملفات تحتاج الى برامج ستطيع فهم لغة برمجتها لمعرفة كيفية التعامل معها.

كمثال : فإن ملف مكتوب بلغة الجافا سكريبت JavaScript يمكن تشغيله من خلال متصفح الويب جوجل كروم Google Chrome , بينما ملف آخر مكتوب بلغة PHP يجب تشغيله من خلال سيرفر  وليكن xamppp .

يمكنك اختبار الاتى :

 1 – قم بتشغيل الخادم المحلى Xampp

 2 – قم بانشاء ملف نص بامتداد PHP ثم اعطه اسم TEST

 3 – قم بادخال هذا الكود فى الملف  . (تجاهل الكود هذا فقط للتوضيح)

1 <?php echo "Hello" ;?>

4 – احفظ الملف داخل مجلد htdocs الموجود فى مجلد Xampp

5 – قم بفتح المتصفح الخاص بك (Firefox – Google chrome) ثم كتابة هذا العنوان

http://localhost/test.php

6 – لاحظ عرض كلمة Hello فى المتصفح

7 – قم بغلق أداة xampp

8 – قم بفتح الملف مرة أخرى فى المتصفح ستجد أنه تم اختفاء كلمة Hello

وذلك لان أكواد PHP لاتعمل الا من خلال خادم .

كيف تفكر كمبرمج

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

لاحظ ان هنا تواجد ثلاثة اعتبارات اساسية وهم

1 – هدف : علاج المريض

2 – طريقة : سواء تشخيص او اجراء فحوصات

3 – وظيفة : وهى مهنتك كطبيب

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

فأنت تريد كتابة برنامج لطباعة كلمة “Hello” فسوف ترتب أفكارك بهذا الشكل

1 – هدف : طباعة الكلمة “Hello”

2 – الطريقة : استخدام الكلمة echo

3 – الوظيفة : هي البرنامج نفسه

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

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

  • Like 2
قام بنشر

من خصائص لغة ( PHP ) أنها يمكنها الإتصال بقاعدة البيانات لتسجيل وإضافة البيانات التي يقوم المستخدمون بكتابتها مثل اسم المستخدم Username وكلمة المرور Password بالتكامل مع لغة MySQL الخاصة بقواعد البيانات ,علي عكس ( JavaScript ) . وتتوافق لغة ( PHP ) مع جميع أنواع قواعد البيانات التي ربما سمعت والتي لم تسمع عنها وليس عليك القلق إن كنت تفتقر إلي المهارت الفنية في الاتصال بقواعد البيانات وتبادل البيانات منها وإليها , كل ما عليك هو إدخال اسم قاعدة البيانات ومكانها وستقوم ( PHP ) بجلب جميع البيانات.

أهم قواعد البيانات المدعومة من PHP

1- dBASE

2- Informix                                                                                             نتيجة بحث الصور عن ‪php foto‬‏                           image.jpeg.52e880536759bc76e3ed107bc52066f7.jpeg          

3- Ingres

4- Microsoft SQL server

5- mSQL

6- MySQL

7- Oracle

8- PostgreSQL

9- Sybase

مميزات لغة PHP

1- لغة سريعة حيث يتم تضمينها أو دمجها داخل أكواد الـ ( HTML ) فتجعل تحميل الموقع أسرع.

2- مجانية ومفتوحة المصدر.

3- سهلة الإستخدام حيث طريقة الكتابة والتكويد سهلة الفهم حتي لغير المبرمجين.

4- لغة مرنة جداً ويمكن أن تعمل علي جميع أنظمة التشغيل.

5- دعم فني قوي حيث يمكنك فتح مناقشات من خلال الموقع الرسمي لـ (php)

6- لغة أمنة جداً حينما تقوم بكتابة الأكواد بالشكل السليم.

7- قابلة للتعديل لكونها لغة مفتوحة المصدر فيستطيع المبرمجين التعديل عليها لتتناسب مع احتياجاتهم.

  • Like 1
قام بنشر
تم اقتباس النبذة التاريخية من موسوعة ويكيبيديا
 

 

ظهرت php أولا في سنة 1995 على يد راسموس ليردورف كانت تسمى وقتها بـ PHP/FI وفي الحقيقة لم تكن لغة برمجه وقتها وانما كانت مجموعه من التطبيقات التي كتبت باستخدام لغة بيرل أطلق راسموس اسم Personal Home Page Tools على هذه التطبيقات، لأنه احتاج فيما بعد إلى تطبيقات أكثر فائده قام راسموس بكتابة تطبيق أكبر باستخدام لغة سي حيث أصبحت قادرة على الاتصال بقواعد البيانات كما أنها كانت تسمح للمستخدمين بتطوير تطبيقات مواقع ديناميكيه بسيطه، اختار راسموس ان تكون الشيفرة المصدرية الخاصة بـ PHP/FI متوفره للجميع لذا كان يمكن لأي شخص ان يستخدمها ويقوم بتحسينها والمشاركة في حل اخطاءها ومشاكلها.

كانت PHP/FI وقتها تحوي على بعض الوظائف المتوفرة بالإصدارات الحالية من اللغة، كما أن المتغيرات كانت تشبه متغيرات بيرل، وكانت تركيبها النحوي يشبه بيرل بالرغم من بساطتها ومحدودياتها.

في عام 1997 تم إطلاق الإصدار 2.0 من PHP/FI، حيث بلغ عدد مستخدميها آنذاك 50,000 نطاق، وكان هناك مجموعه من الأشخاص الذين يشاركون في التطوير، وتم إطلاق الإصدار الرسمي من 2.0 في شهر نوفمبر من نفس العام بعد العديد من الإصدارات التجريبية بيتا.

PHP 3

في عام 1997 تم إعادة كتابة PHP/FI على يد زيف سوراسكي، أندي جتمانز بعدما وجدوا ان PHP/FI 2.0 ليست قويه بما فيه الكفاية من أجل كتابة تطبيق تجارة إلكترونية والذي كانوا يعملون عليه كمشروع تخرج لجامعتهم، كان هناك تعاون بينهم وبين مؤسس اللغة راسموس ليردورف على ان تكون PHP 3.0 هي النسخة الرسمية بعد PHP/FI.

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

وفي هذا الإصدار تم تغيير اسم اللغة ووضعها تحت اسم جديد وهو بي إتش بي (بدون FI) والذي كان يحمل اختصارا لمعنى جديد مختلف عن الإصدار السابق والمعنى هو “PHP: Hypertext Preprocessor”.

تم إطلاق بي إتش بي 3.0 في يونيو 1998 بعد 9 أشهر من الاختبارات.

PHP4

في عام 1998، وبعد الانطلاق الرسمي لـ بي إتش بي 3.0 بقليل بدأ زيف سوراسكي وأندي جتمانز بإعادة كتابة أساس لغة بي إتش بي وكان الهدف من ذلك هو تحسين الأداء للبرامج المعقدة والضخمة وتحسين قابلية اللغة للتوسع.

المحرك الجديد الذي ظهر بعد إعادة الكتاب تم تسميته بـ محرك زند واسم “زند” مأخود من أوائل حروف أسماء مطوريه، ونجحوا في تحقيق اهدافهم عن طريق هذا المحرك، وتم الإعلان عنه في عام 1999.

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

وقد تم إعلان إيقاف تطوير ودعم بي إتش بي 4 في 13 يوليو، 2007[6].

الآن وبعد أن تعرفت علي لغة ( PHP ) وأنها من أقوي وأشهر اللغات البرمجية للمواقع الإلكترونية

قام بنشر (معدل)

توفير بيئة PHP

إذا كنت تعلم ماهي لغة PHP فلابد أنك تعرف أنه لكي تبدأ استخدام لغة PHP لابد أن توفر البيئة المناسبة , وأقصد بالبيئة , البرنامج الذي يمكنه قراءة أكواد PHP وهذ البرنامج يتم تشغيله من خلال الخادم Server  ويمكنك توفير بيئة الخادم بطريقتين

1- إما تشغيلها علي سيرفر علي الإنترنت من خلال حجز دومين Domain وإستضافة Hosting Plan ومنها ما هو مجاني والآخر مدفوع.

2- تشغيلها عن طريق تنصيب خادم محلي Local Server يتم تنصيبه علي حاسوبك الخاص.

والخيار الثاني هو الأفضل إذا كانت هذه بدايتك مع PHP أو حتى إذا كنت تريد كتابة الأكواد واختبارها قبل إضافتها لموقعك  ,وھناك العدید من البرامج التي تقوم بتوفير بيئة التعامل مع لغة PHP بتحويل حاسوبك الشخصي إلي سیرفر Server وبالتالي یمكنك تنفيذ أكواد php دون الحاجة للأتصال بالإنترنت.ويكون عنوان الموقع عند استخدام خادم محلي Local Server هو localhost.

برامج الخادم

 

2- Apache Server

3- Xampp

4- Mamp

5- Wamp

شخصياً أتعامل ببرنامج Xampp

برامج التحرير

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

1- Editra

2- ++ Notepad

بالإضافة إلى برامج أكثر إحترافية وأكثر أداءً مثل Dreamweaver و Aptana Studio وغيرها. لكن يمكنك البدء في استخدام ++ Notepad .

كتابة كود PHP

لكي تبدأ في استخدام PHP لابد وأن يكون الملف الذي تكتب داخله الأكواد يحمل إمتداد php مثل test.php ويتم كتابة الكود بهذا الشكل

1 <?php write your code here ;?>

بحيث يتم كتابة php?> للتعريف بأن ما بعدها هو أكواد PHP ثم تقوم بإنهاء البرنامج بإستخدام <?; وفائدة الـفاصلة المنقوطة Semi colon (;) هو إنهاء الجملة البرمجية. حيث أن البرنامج يكون عبارة عن مجموعة من الجمل التي يتم أنهاء عملها باستخدام الفاصلة المنقوطة(;).

اختبار بيئة php                             

 1- عليك أولاً تنصيب الخادم المحليكيف تيدأ في استخدام PHP ؟

2- قم بفتح برنامج ++ Notepad وعمل ملف جديد

3- إنسخ الكود التالي

  <?php echo "Hello World";?

 

 

اختبار PHP

4- أحفظ الملف في مجلد htdocs الموجود داخل مجلد تنصيب Xampp بالأسم test وإمتداد php بحيث يكون test.php

5- قم بفتح المتصفح ثم أكتب في عنوان الموقع الرابط لملف الاختبار localhost/test.php ثم أضغط Enter ولاحظ عرض كلمة Hello World

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

تم تعديل بواسطه mennad sofiane
  • Like 2
قام بنشر

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

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

تعريف المتغير Variable

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

 matchbox

صيغة المتغيرات Variable Syntax

عند تعريف متغير لابد من استخدام علامة الدولار هذه ($) قبل اسم المتغير ثم علامة المساواة (=) ثم قيمة المتغير 

 

لكن ماذا عن علامات الاقتباس المزدوجة Double Quotation Marks (” “) ؟ , إضافة علامة الاقتباس له علاقة بما يسمى بأنواع البيانات Data Types , حيث يتم تصنيف البيانات لأنواع مثل بيانات حرفية String أو رقمية Numericc وهكذا, وهذا ليس موضع اهتمامنا الآن. وتوجود علامات الاقتباس المزدوجة بسبب استخدام نوع البيانات String . أما إذا كان نوع البيانات Numericc يتم كتابة المتغير بدون علامات الاقتباس المزدوجة 

ويتم اضافة المتغيرات وتخصيص قيم لها واستدعائها تماماً بنفس فكرة علبة الكبريت حيث يتم تخزين قيمة Value للمتغير username$ وهي Mohamed وعندما تريد طباعة القيمة Mohamed 
 

وفي هذه الحالة تكون النتيجة هي القيمة Mohamed

ويمكنك أيضا نسخ المتغير لمتغير آخر بحيث يكون له نفس قيمة المتغير الأساسي مثل

 

وعند استدعاء المتغير الجديد ستكون النتيجة أيضاً هي القيمة Mohamed

 

مثال عملي

1- عليك أولاً تنصيب الخادم المحلي ( LOCAL SERVER ) أو تشغيله إن كان منصباً

2- قم بفتح برنامج ++ Notepad وعمل ملف جديد

3- إنسخ الكود التالي. (بدون الترقيم)

 
 
 

4- أحفظ الملف في مجلد htdocs الموجود داخل مجلد تنصيب Xampp بالأسم test وإمتداد php بحيث يكون test.php

5- قم بفتح المتصفح ثم أكتب في عنوان ملف الاختبار localhost/test.php ثم أضغط Enter

6- تم عرض القيمة Mohamed مرتين وكل منهما في سطر منفصل.

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

ماذا عن العلامة (//) في السطر رقم 4؟, هذه العلامة تستخدم للتعليقات ( PHP COMMENTS ) وهي سطور دلالية توضيحية فقط ولا يتم تنفيذها كجزء من البرنامج  وهناك أكثر من طريقة لإضافة التعليقات سنناقشها في موضوع منفصل.

متغير متغير variable variable

نعني بذلك أنه يمكن أن تكون قيمة متغير هي نفسها متغير .

 

1 – قمنا بتعريف متغير var$ وخصصنا له القيمة ” String “.

2 – ثم قمنا بتحويل هذه القيمة نفسها إلى متغير عن طريق تعريف المتغير نفسه مرة أخري مع ووضع علامة ( $ ) قبل المتغير . أي أصبح هناك ( $$ ).

3- الآن بالرغم من أنه لم يتم تعريف متغير باسم String$ إلا أننا طلبنا طباعة هذا المتغير. لأنه تم إنشاء هذا المتغير كنتيجة لـ ( $$ ).

تعليمات كتابة المتغيرات

1- يجب أن يبدأ المتغير بعلامة الدولار $

2- يجب أن يبدأ المتغير بحرف أو الشَرطة التحتية Underscore (_)

3- يجب أن يحتوي المتغير علي حروف أو أرقام فقط

4- لاينبغي أن يحتوي المتغير علي مسافة. أما إن إردت كتابة أكثر من كلمة فيمكنك استخدام الشَرطة التحتية بهذا الشكل two_words$

4- المتغيرات حساسة لحالة الأحرف , بمعني أن VARIABLE$ لا يساوي variable$

قام بنشر

المصفوفات ( PHP ARRAYS ) تستخدم لتخزين أكثر من قيمة لمتغير ( PHP VARIABLES ) واحد. يمكنك أن  تتخيل أنك تريد كتابة أسماء فريقك فتقوم بلصق مجموعة من علب الكبريت ببعض وكتابة اسم لاعب داخل كل علبة وتكتب على كامل العلب Team. بالتالي تصبح Team عبار عن صف من الأسماء Array .

أنواع المصفوفات

1- مصفوفات أحادية البعد One Dimensional Array : وهي النوع العادي الذي تحدثنا عنه في المثال السابق.

2- مصفوفات ثنائية البعد Two Dimensional Array : ببساطة يمكنك ان تتخيلها أيضا مجموعة من علب الكبريت (وليكن 9 علب) تم لصقها بحيث تكون ثلاثة أعمدة وثلاثة صفوف وأنك ستقوم بتخزين أي بيانات داخلها وليكن X و O بهذا الشكل

two dimensional array

مبدأ المؤشر الضمني

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

array pointer

قام بنشر

التعليقات في بي اتش بي مع المبرمج مناد سفيان

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

تعليق السطر الواحد : 

فأحياناً يكون التعليق مجرد ملحوظة صغيرة لن تحتاج أكثر من سطر واحد، فيتم كتابة التعليق باستخدام علامة // أو #، فيقوم مُنفذ PHP بتجاهل هذا الكود.

5a7de1b768acf_.JPG.19d4b1587cd60e62f0657abc1fe1c7e1.JPG

ففي الكود السابق لن يتم طباعة سوى السطر رقم 3 أما جملة  echo في السطر رقم 4 , 5  لن يتم تنفيذها لأنها مجرد تعليق.

التعليق متعدد الأسطر : 

لكن أحياناً تحتاج لإضافة تفاصيل أكثر في أكثر من سطر، بحيث تم وضع مجموعة الأسطر داخل علامة /**/، فمثلاً هذا تعليق متعدد الأسطر من قالب ووردبريس

5a7de256dfd1e_.JPG.e972f576bde6c556cff6eeb16d8de72b.JPG

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

أهمية التعليقات في البرمجة :

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

 
  • Like 1
قام بنشر

php-string-concatenation

إذا كان هناك معاملات ( PHP Operators ) لإضافة المتغيرات الرقمية  Int ,توجد أيضاً  للمتغيرات من النوع الـ String أو الحرفية علامة التخصيص Period (.) حيث تقوم بعمل دمج للسلاسل النصية ( String Variables )

5a7de65ed5b30_.JPG.270d7a8d716997ddce107e9b03c4bef6.JPG

وتكون القيمة الجديدة لـ x$ هي مجموع النصين. ولتتأكد أنه تم تغيير قيمة المتغير x$ قم بتجربة الكود التالي وستجد التيجة واحدة

5a7de72c2a488_.JPG.150b68827133eec88f0d9859b6611fce.JPG

 
قام بنشر (معدل)

PHP Operators

تستخدم المعاملات ( PHP OPERATORS ) في العمليات الرياضية والمنطقية والمقارنات مثل الجمع والطرح والقسمة والضرب. وتشبه معاملات ( PHP ) العمليات الرياضية البسيطة مثل

المعاملات الحسابية Arithmetic Operators

وهي المعاملات الخاصة بالعمليات الجبرية كالجمع والطرح …إلخ

Arithmetic operators

حيث يمكنك تخصيص قيمة للمتغير ( PHP VARIABLES ) j$ ثم استخدامه في العمليات بالشكل التالي

توقع أن جميع المعاملات السابقة واضحة ولكن الغريب هما معاملي الزياة (++) والنقصان (- -) , ولكي نفهم المقصود بهما يجب أولا فهم ما يسمى بمعاملات التخصيص Assignment Operators.

معاملات التخصيص Assignment Operators

تستخدم معاملات التخصيص لتخصيص قيمة Value لمتغير ( PHP VARIABLES ). وتبدأ باستخدام علامة المساواة أو التخصيص (=) ثم =+ , =- وهكذا .

تقوم علامة التخصيص (=+) بإضافة القيمة في الناحية اليمنى لما هو في الناحية اليسرى. بحيث إذا كانت قيمة المتغير count$ تساوي 5 تتغير قيمته إلي 6 عند استخدام علامة التخصيص (=+) بهذا الشكل

5a7de9e9eece5_.JPG.11cce9fefd3f0262e471b10508260844.JPG

بدلاً من تكرار المتغير هكذا

5a7dea2a19714_.JPG.650d0469f848cf4d864922854c9b1a22.JPG

Assignment operators

نلاحظ في جدول المعاملات الحسابية Arithmetic Operators وجود معامل الزيادة (++) ومعامل النقصان (- -) ولم نتحدث عنهم لأنه كان لابد من فهم معاملات التخصيص أولاً, فما المقصود بهما؟.بشكل مبسط هي تقوم بإضافة أو طرح 1 .ولكي نفهم ذلك تخيل أنك تقوم بعملية فحص علي متغير ما وليكن x$ الذي قيمته تساوي 9 بحيث إن كانت قيمته تساوي 10 تتم طباعة المتغير ,إن لم يتحقق الشرط تتم زيادة المتغير x$ بقيمة 1 ثم الفحص مرة أخري حتي يتحقق الشرط ثم طباعة المتغير.
 
 
تم تعديل بواسطه mennad sofiane
قام بنشر

print vs echo

عند كتابة الأكواد أو حتى قراءة أكواد مكتوبة بواسطة الغير تجد منهم من يستخدم لطباعة القيم echo وآخرون يستخدمون print فما الفرق بين كل منهما؟

الإختلافات بين echo و print بشكل مباشر هي :

1- echo أسرع في طباعة المتغيرات (نتحدث بالملي ثانية أو أقل)

2- print تقوم باسترجاع القيمة 1 (TRUE) وهذا ما يجعلها تأخذ وقت اكبر

تخيل أن لديك اثنين من الموظفين فطلبت من كل منهما تصوير مستند فقام الأول بسماع الأمر وتنفيذه مباشرةً ثم تسليم النسخة المصورة أما الثاني قام بالتصوير ثم رد قائلاً “تمام يا افندم” ثم قام بتسليم النسخة المصورة وبالتالي أستغرق وقت أكبر من الأول.

3- echo  تقبل عدد لانهائي من المدخلات بينما print تقبل مدخل واحد فقط

 

لاحظ عند تنفيذ الكود تكون نتيجة echo هي “IamMohamed” ملتصقة ببعض لاعتبار كل من (I) و (am) و (Mohamed) مدخلات منفصلة تم طباعتهم وراء بعض. أما في السطر رقم 3 تم طباعة الجملة كاملة كمدخل واحد “I am Mohamed” .

4- يمكن استخدام print كدالة ولايمكن بالنسة لـ echo

 

  • Like 4
قام بنشر

نعلم جميعاً أن لكل متغير مجال محدد ( PHP VARIABLE SCOPES ) ولا يمكن استخدام المتغير إلا في نطاقه, ونعرف أن المتغيرات الشاملة ( PHP GLOBAL VARIABLES ) لا يمكن استخدامها داخل الدوال إلا باستخدام كلمة global . لكن ماذا إذا أردت استخدام المتغيرات الشاملة كوسيط لدالة function argumentt .

يمكن تمرير المتغيرات الشاملة كوسائط للدوال باستخدام مرجع reference للمتغير وليس استخدام المتغير نفسه عن طريق وضع علامة & قبل وسائط الدالة.

كما تعلم أنه يمكن تمرير قيم الوسائط للدالة ( php passing arguments by value ) وهذه الطريقة تستخدم الوسائط دون تغيير قيمتها الأصلية

يضاً من الاستخدامات المفيدة لتمرير الماغيرات بالمرجعية, هو استخدامها مع جملة ( PHP Foreach As ).

فكما نعلم أن جملة foreach as تقوم بعمل التكرار الحلقي على قيم المصفوفات بحيث يتم تخصيص كل قيمة لمتغير ثم الاستفادة من هذا المتغير فيما بعد, لكن دون التأثير على القيم الأصلية داخل المصفوفة.

passing-arguments-by-reference

  • Like 1
قام بنشر

دالة الاستدعاء ( CALLBACK FUNCTION ) هي دالة تقوم بتعريفها بنفسك ثم تقوم بتمريرها كوسيط Argument لدالة أخرى. بحيث تقوم الدالة المستقبلة (الأساسية) باستدعاء الـ callback في أي وقت فتقوم دالة الاستدعاء بتغيير سلوك الدالة المستقبلة.

 وهناك بعض الدوال المدمجة في ( PHP ) تستخدم دوال الاستدعاء ومنها

دالة ( array_map )

هي دالة من دوال المصفوفات تستقبل دالة استدعاء ( CALLBACK FUNCTION ) بحيث يتم تطبيق الـ callback على كل عنصر من عناصر المصفوفة.

أنظر الكود التالي

 

5a85cc610e998_.JPG.305a3189cb504ba63b862f126ce49ef9.JPG

 في السطر رقم 3 أنشأنا دالة عادية وقمنا باستخدام name$ كوسيط

2- تقوم هذه الدالة بتغيير حالة الحرف الأول من الوسيط إلى حرف كبير Uppercase باستخدام الدالة ()ucfirst ثم ارفاقها  بـ “Hello” باستخدام الـتسلسل (STRING CONCATENATION ) ومن ثم استرجاع النتيجة ( RETURNING VALUESS ) .

3- في السطر رقم 7 قمنا بعمل مصفوفة ( PHP ARRAY ) من الأسماء names$

4- في السطر رقم 8 قمنا بتمرير الدالة nameTOGreeting كوسيط Argument للدالة ()array_map

5- طباعة النتيجة باستخدام ( PHP print_r )

فتكون النتيجة هي

 

 

Array ( [0] => Hello ’Mohamed! [1] => Hello Ahmed! [2] => Hello Ali! )

ولكن هل تتذكر أن السبب الأساسي لاستخدام الدوال هو انك تقوم بوضع مجموعة من الأسطر داخل دالة بغرض استخدامها مرات عديدة؟. بالطبع نعم لذا إن كات الدالة ستستخدم مرة واحدة لغرض محدد فقط فيفضل تمريرها كدالة مجهولة  ( PHP ANONYMOUS FUNCTION )

انظر الكود التالي

5a85ccd4f1c54_.JPG.8fd4443ac6dda50c908ad1d18818b681.JPG

callback functions
  • Like 1
قام بنشر

If-Statement.png

 PHP IF STATEMENT ) أو (إذا) من أدوات الشرط الغير حلقية ( Non-looping conditional ) , وتستخدم لفحص تحقق شرط معين بحيث إن كانت إجابة الفحص هي نعم true يتم تنفيذ عملية معينة , أما إن كانت خطأ تقوم بإنهاء العملية أو تنفيذ عملية أخري.

صيغة جملة if

يتم كتابة جملة if بهذا الشكل

5a8f0504b8925_.JPG.c45a410568853cee6f036b528464347b.JPG

ا كان حسابك البنكي bank_balance$ رصيده أقل من 1000 دج أو أياً كانت عملتك , فستقوم بإيداع مبلغ 1000 دجmoney$ , فيتم كتابة البرنامج بهذا الشكل

 

5a8f05ef983a2_.JPG.a7908b57ed29b1540d897c12fd4a997d.JPG

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

وبهذا يمكن طباعة جملة تفيد بأن الرصيد الموجود كافي إذا كان الرصيد أكبر من 1000 بهذا الشكل

5a8f068a17625_.JPG.9540e9c7fd294069ff4b82b06946e144.JPG

ماذا إن كنت تريد سحب مبلغ في حالة عدم تحقق الشرط, أي أن الرصيد أكبر من 1000 , فيمكنك وضع شرط آخر بحيث إذا كان الرصيد الموجود أكبر من أو يساوي 2000 ستقوم بسحب مبلغ 500 دج with_draw$  بهذا الشكل

5a8f072892171_.JPG.1330364eea1a4937e50408d8bbf0e278.JPG

يمكنك إضافة إي عدد من جملة elseif , ولكن إن كان العدد سيكون كثيراً للغاية يمكنك إستبدال elseif بـ ( PHP SWITCH STATEMENT ).

علامة الاستفهام الشرطية ?

يمكن استبدال جملة if بالمعامل الاستفهامي ?  ( CONDITIONAL QUESTION MARK ) في حالات الشرط الصغيرة أو التي لا تحتاج إلا سطر واحد

5a8f07ad8aeac_.JPG.e69e5f0458c89a3826d797807e5bc8e7.JPG

 

في الكود السابق نسأل , هل كمية الوقود أقل من أو تساوي 1 ؟ , فإذا كانت الإجابة نعم true سيتم طباعة السلسلة النصية (string) “املأ خزان الوقود” , وإذا كانت الإجابة لا false سيتم طباعة “يوجد وقود كافي”. ويمكن تخصيص نتيجة الشرط إلي متغير enough$

5a8f080c218b4_.JPG.009b5131fa293b676709eefb31bfc019.JPG

 
  • Like 3
قام بنشر

If-Statement.pngPassing-arguments-by-reference.jpg

نعلم جميعاً أن لكل متغير مجال محدد ( PHP VARIABLE SCOPES ) ولا يمكن استخدام المتغير إلا في نطاقه, ونعرف أن المتغيرات الشاملة ( PHP GLOBAL VARIABLES ) لا يمكن استخدامها داخل الدوال إلا باستخدام كلمة global . لكن ماذا إذا أردت استخدام المتغيرات الشاملة كوسيط لدالة function argumentt .

يمكن تمرير المتغيرات الشاملة كوسائط للدوال باستخدام مرجع reference للمتغير وليس استخدام المتغير نفسه عن طريق وضع علامة & قبل وسائط الدالة.

كما تعلم أنه يمكن تمرير قيم الوسائط للدالة ( php passing arguments by value ) وهذه الطريقة تستخدم الوسائط دون تغيير قيمتها الأصلية

أنظر الكود التالي

5a8f0c4c3a64a_.JPG.b3db23cbcfc536a2beb714708a67ee96.JPG

شرح الكود :

1- في السطر رقم 2 قمنا بتعريف الدالة fix_names ومررنا إليها المتغيرات n1,n2,n3

2- في السطر رقم 3,4,5 قمنا بتطبيق الدالة ( PHP UCFIRST )  التي ستقوم بتحويل الأحرف الأولى لقيم المتغيرات إلى أحرف كبيرة.

3- في السطر رقم 6 طلبنا طباعة قيم المتغيرات بعد التحويل.

4- في السطر رقم 8,9,10 قمنا بتعريف المتغيرات a1,a2,a3 .

5- ثم في السطر رقم 11 قمنا بتطبيق الدالة fix_names على هذه المتغيرات, فيتم طباعة المتغيرات مع تغيير الأحرف الأولى لها .

6- أما في اسطر رقم 13 قمنا بطباعة المتغيرات a1,a2,a3 فتكون النتيجة هي القيم الأصلية دون تغيير.

بالتالي تمرير قيم الوسائط إلى الدوال يحافظ على قيم الوسائط دون تغيير , على عكس تمرير الوسائط بالمرجعية ( Passing By reference )

أنظر الكود التالي 

5a8f0cae57aa7_.JPG.39a59afd1f1bf0229799c28a861ef9c2.JPG

شرح الكود

1- في السطر رقم 2 قمنا بإنشاء دالة ( PHP FUNCTIONS ) وهي fix_names باستخدام الوسائط arguments وهي n1, n2,n3 بالإضافة إلى وضع & قبل كل وسيط. هذه الدالة تقوم بتحويل الحرف الأول لأي متغير من النوع string  إلى حرف كبير Capital letter باستخدام الدالة مسبقة الإعداد في بي إتش بي ( PHP UCFIRST ).

2- ثم في السطر رقم 8,9,10 قمنا بتعريف ثلاثة متغيرات a1 , a2, a3 لتنفيذ الدالة fix_names عليهم

3- ثم في السطر رقم 11 قمنا باستدعاء الدالة fix_names وتم تمرير الثلاثة متغيرات كوسائط لهذه الدالة, فقامت الدالة بتحويل الحرف الأول ولكن حتى هذه اللحظة لن يتم طباعة النتيجة  لأننا لم نطلب الطباعة داخل الدالة في الأساس.

4- ثم في السطر رقم 12 طلبنا طباعة المتغيرات الثلاث باستخدام echo , فكانت النتيجة واحدة مما يوضح أن تمرير الوسائط للدوال بالمرجعية يقوم بتغيير القيمة الأصلية لها على عكس تمرير قيم الوسائط.

5a8f0d24d0110_.JPG.f45f9522c5ddf75265a7dc68fc6e9176.JPG

أيضاً من الاستخدامات المفيدة لتمرير الماغيرات بالمرجعية, هو استخدامها مع جملة ( PHP Foreach As ).

فكما نعلم أن جملة foreach as تقوم بعمل التكرار الحلقي على قيم المصفوفات بحيث يتم تخصيص كل قيمة لمتغير ثم الاستفادة من هذا المتغير فيما بعد, لكن دون التأثير على القيم الأصلية داخل المصفوفة.

ماذا إن أردت تغيير القيم الأصلية للمصفوفة عند استخدام foreach as ؟

نعلم جميعاً أن جملة foreach as تكتب بهذه الصيغة :

5a8f0dc20224c_.JPG.db32404ddeee5ee75aca940044de543e.JPG

الآن إذا أردنا تغيير القيم الأصلية للمصفوفة يجب علينا تمرير القيم بالمرجعية عن طريقة إضافة علام ( & ) قبل value$ كما يظهر في الصيغة التالية :

5a8f0d5e51b77_.JPG.9f7ab6ac6f10d3e0fca37cf06a950db5.JPG

لتوضيح الفكرة سنقوم بعمل مصفوفة لمجموعة من الأسماء تبدأ بالأحرف الكبيرة ثم سنمرر هذه الاسماء بالمرجعية إلى جملة foreach as لتحويل حالة جميع الأحرف إلى الأحرف الكبيرة

 

5a8f0e06b041b_.JPG.4379187acbd1dfa81473b20020c05eae.JPG

الأن عن إضافة علامة ( & ) إلى القيمة عند كتابة جملة foreach as سيتم عمل مرجع ( Reference ) للقيم الأصلية داخل المصفوفة , وبالتالي عند تطبيق الدالة ()strtoupper سيتم تحويل حالة جميع الأحرف إلى أحرف كبيرة.

5a8f0e74b697b_.JPG.8bf15fad8ee80a907a693fdd43cad502.JPG

5a8f0ebbb335c_.JPG.13269eff886c25890466714cbc7c2968.JPG

تحميل الملف : 

foreach_pass_by_reference.zip

 
  • Like 3
قام بنشر

PHP-Escaping-characters.png

معلومات يجب معرفتها قبل الإستمرار في القراءة

1- ما هي المتغيرات variables ؟

أحياناً نحتاج استخدام رمز معين كرمز فقط وليس عنصر ( PHP ) قابل للتنفيذ . مثلاً إن أردت استخدام علامة (‘) كجزء من نص وليس رمز برمجي يتم تنفيذه, فمن الطبيعي

5a8ff0669db22_.JPG.3489a7d7878cd743f59d2a1a4224f8ce.JPG

  • Like 1
قام بنشر

The-for-statement.jpg

جملة for هي من الأدوات القوية لـ ( PHP ) في عمل التكرار ( looping ) حيث يتم تعريف المتغير واختبار الشرط وعمل التعديل في  سطر واحد ويتم الفصل بينهم باستخدام الفاصلة المنقوطة semi-colon ( ; ).

ويمكن تلخيص تسلسل العمليات داخل حلقة ( PHP FOR ) هكذا :

  • إضافة متغير عداد ذو قيمة ابتدائية
  • اختبار تحقق شرط معين
  • تنفيذ الكود
  • زيادة قيمة العداد بعد انتهاء كل عملية تكرار
  • صيغة جملة For

5a8ff30517976_.JPG.dddd1015d902e712075ca123bf8da50f.JPG

في الكود السابق يتم طباعة جدول الضرب للعدد 12 باستخدم جملة ( PHP FOR ) بالتسلسل التالي

 

قام بنشر

الثوابت ( PHP CONSTANTS ) تشبه المتغيرات ( PHP VARIABLES ) حيث يتم تخصيص قيم لها  لحين الرجوع إليها للإستخدام. ولكن هناك بعض الإختلافات بين المتغير والثابت

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

1- لا يتم استخدام علامة $ مع الثوابت.

2- الثوابت حساسة لحالة الأحرف وتستخدم الأحرف الكبيرة Capital letters عند تعريف ثابت.

3- علي عكس المتغيرات لايمكن تغيير قيمة ثابت عند تعريفه define  ولا يمكن عدم تعريفه undefine.

4- لا يتم تعريف الثوابت باستخدام علامة التخصيص فقط (=), ولكن يجب استخدام الدالة ()define أو const.

5- الثوابت يمكن تعريفها والوصول إليها من أي مكان وليست مرتبطة بمجال المتغيرات ( PHP VARIABLE SCOPES ) فهي عامة global بشكل افتراضي .

6- يبدأ المتغير بحرف أو شرطة تحتية Underscore ( _ ).

7- لايمكن تغيير قيمة الثابت بمجرد تعريفه.

8 – على عكس المتغيرات عامة المجال ( Global Scope Variables ) لا يتم استخدام الكلمة global عند استخدام الثوابت داخل الدوال.

قم باختبار الكود التالي

5a8ff500743b3_.JPG.24d47e7448f9e90bb6b95f07e78bc9d2.JPG

استخدام الثوابت في الدوال

على عكس المتغيرات عامة المجال ( Global Scope Variables ) لا يتم استخدام الكلمة global عند استخدام الثوابت داخل الدوال.

5a8ff55f8e0f8_.JPG.14f3841cae8037101183ac085a234e88.JPG

كما نلاحظ تم استخدام الثابت A مباشرة داخل الدالة ()hello دون الحاجة لاستخدام الكلمة globla.

ثوابت سابقة التعريف Predefined Constant Variables

توفر ( PHP ) العشرات من الثوابت سابقة التعريف ومن هذه الثوابت مجموعة الثوابت السحرية Magic constants وتتميز هذه المجموعة أنها تبدأ بشرطتين تحتيتين (__) في كل من البداية والنهاية ومن هذه الثوابت السحرية __LINE__ , __FILE__ و __DIR__ وآخرون ولكن لكل واحدة شرح وطريقة استخدام .

 

 

php-Constants.png

 

قام بنشر

anonymous-functions.png

نعرف جيداً ما هي الدوال ( PHP FUNCTIONS ) وماهي الصيغة التي يتم تعريف الدوال بها وكيفية استخدامها, لكن لكل قاعدة شواذ. لذلك هناك نوع من الدوال يختلف قليلاً عن الدوال المعروفة وهو الدوال المجهولة ( PHP ANONYMOUS FUNCTIONSS ).

كما نعلم أنه يتم تعريف الدالة العادية كالتالي

 

حيث يتم تعريف الدالة باسم (myFunctionName) ومن ثم يمكن استدعاء الدالة بكتابة اسمها هكذا

5a8ff7a051299_.JPG.7feef770ef371f138cbd49e8b80ca999.JPG

5a8ff83f0c629_.JPG.c054293c6c51735968b85b5a156005d0.JPG

وتشبه الدالة المجهولة الدالة العادية من حيث أنها تحتوي على كود قابل للتنفيذ عند استدعاء الدالة ويمكنها استرجاع القيم ( PHP RETURNING VALUES ) وتقبل أيضاً الوسائط. راجع الدوال ( PHP FUNCTIONSS ).

لكن يتضح الفارق من اسمها فهي دالة مجهولة أي ليس لها اسم . لاحظ الكود التالي
5a8ff748769c2_.JPG.7cae07e686eb4c5c198c110050a01955.JPG5a8ff7e8c5ded_.JPG.c0c2cda8440b1745dd673736df0960b5.JPG

لابد أنك لاحظت أن هناك اختلافين جذريان بين الدالة المجهولة والعادية وهما :

1- لا يوجد اسم للدالة بين الكلمة function والأقواس Parenthesis

2- هناك فاصلة منقوطة Semicolon (;) بعد تعريف الدالة . سطر رقم 4

وذلك لأن الدالة المجهولة في حد ذاتها هي تعبير Expression مثلها مثل المتغيرات والمصفوفات. والتعبيرات هي كل ما له قيمة.

لكن إذا كانت الدالة المجهولة ليس لها اسم كيف يمكن استدعاءها!!!!

كما قلنا أن الدالة المجهولة هي تعبير أي شيئ له قيمة لذلك يمكن :

  • تخصيصها لمتغير ( PHP VARIABLE ) ثم استدعاءها بمجرد كتابة اسم المتغير
  • يمكن اضافة أي عدد منها داخل مصفوفة ( PHP ARRAY )
  • يمكن تمريرها لدالة أخري لحين استخدامها لاحقاً. تسمي في هذه الحالة دالة استدعاء ( PHP CALLBACK FUNCTION )

تخصيص الدالة مجهولة Anonymous لمتغير Variable

5a8ff89a9c1f8_.JPG.e79d1014682dd0b98b07bf5bbb3c53d2.JPG

 

 
  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • اضف...

Important Information