أكواد لغة php

أكواد لغة php

ما يميز أكواد لغة php عن كود العميل مثل JavaScript هو أن كود PHP يتم تنفيذه على الخادم ، والذي يولد HTML الذي يتم إرساله بعد ذلك إلى العميل.

بني التحكم

if

تعتبر بنية if واحدة من أهم ميزات العديد من لغات البرمجة ، بما في ذلك PHP. يسمح بتنفيذ أجزاء من الكود وفقًا لشروط معينة.

else

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

elseif/else if

كما يوحي الاسم ، هذا البيان هو مزيج من if and else. كما هو الحال مع else ، يمكن توسيع جملة if لتنفيذ عبارة أخرى إذا كانت نتيجة عبارة if FALSE. ومع ذلك ، على عكس else ، فإن elseif ينفذ هذا التعبير البديل فقط إذا كانت نتيجة التعبير الشرطي المتعلق بعبارة elseif هي TRUE.

while

بينما الحلقات هي أبسط أنواع الحلقات في PHP ، وتعمل بطريقة مشابهة لنظيرتها من النوع C.

do-while

تتشابه حلقات do-while بشكل كبير مع حلقات while ، فيما عدا أن فحص الحالة يتم في نهاية الدورة بدلًا من بدايتها. ما يميز هذه الحلقات عن حلقات while هو أن الدورة الأولى في حلقات do-while سيتم تنفيذها في جميع الحالات (يحدث التحقق فقط في نهاية الدورة) ، بينما قد لا يتم تنفيذ الدورة الأولى في while loops بالضرورة (the يحدث التحقق من الصحة في بداية كل دورة ، إذا كانت النتيجة FALSE من البداية ، تتوقف الحلقة على الفور.)

for

الحلقات For هي أكثر أنواع الحلقات تعقيدًا في PHP ، وهي تشبه نظيراتها في C.

foreach

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

break

ينهي كسر تنفيذ بنية حلقة for أو foreach أو while و do-while أو switch.

Continue

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

switch

بيان التبديل هو مثل سلسلة من عبارات if المطبقة على نفس التعبير. قد تحتاج أحيانًا إلى مقارنة نفس المتغير (أو التعبير) بقيم (حالات) مختلفة ، وتنفيذ كود مختلف بناءً على ذلك ، وهو ما يفعله بيان التبديل.

declare

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

return

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

require

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

include

يتضمن بيان التضمين الملف المحدد ويتعامل معه.

require_once

Require_once مطابق للمطالبة فيما عدا أن PHP سوف تتحقق مما إذا كان الملف مضمنًا ، لتجنب طلب ذلك مرة أخرى.

include_once

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

goto

يمكن استخدام عامل تشغيل goto للانتقال إلى قسم آخر من البرنامج.

الدوال

الوظائف التي يحددها المستخدم

تتبع أسماء الوظائف نفس قواعد لغة التسمية. يبدأ الاسم الصحيح للوظيفة بحرف أو شرطة سفلية ، متبوعًا بأي عدد من الأحرف أو الأرقام أو الشورتات السفلية. يمكن التعبير عن هذا النموذج باستخدام التعبيرات العادية على النحو التالي: [a-zA-Z_ \ x7f- \ xff] [a-zA-Z0-9_ \ x7f- \ xff] *.

مشغلي الوظيفة

يمكن تمرير المعلومات إلى الوظائف عبر قائمة الوسائط ، وهي قائمة من التعبيرات مفصولة بعلامة (،) ، وتتم معالجة هذه الوسائط من اليسار إلى اليمين.

إرجاع القيم

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

وظائف متغيرة

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

وظائف خالية (مضمنة)

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

وظائف غير معروفة

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

البرمجة الشيئية في لغة PHP

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

ملكيات

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

ثوابت الصنف

يمكن تحديد القيم الثابتة التي لا يمكن تعديلها لكل فئة على حدة. تختلف الثوابت عن المتغيرات العادية في أن علامة $ لا تُستخدم للإعلان عنها أو استخدامها. تتمتع ثوابت الفئة بإمكانية رؤية النوع عام.

التحميل التلقائي لفئات PHP

يقوم معظم المطورين الذين يكتبون تطبيقات موجهة للكائنات بإنشاء ملف PHP واحد لكل فئة. وهنا تبرز مشكلة مزعجة للغاية ، وهي الحاجة إلى كتابة قائمة طويلة من الفئات التي يجب تضمينها لبدء تنفيذ الكود (قائمة لكل فئة).

لم يعد هذا ضروريًا في الإصدار 5. تقوم وظيفة spl_autoload_register () بتسجيل عدد غير محدود من أدوات التحميل التلقائي السماح بالتحميل التلقائي الفئات والواجهات غير المحددة في ملف التعليمات البرمجية. يتيح تسجيل برامج التحميل التلقائي للغة فرصة أخيرة لتحميل الفئة أو الواجهة قبل أن يتوقف الرمز ويحدث خطأ.

التبعيات البناءة والمدمرة

تسمح PHP للمطورين بالإعلان عن مُنشئ للفئات. تحتوي كل فئة على طريقة منشئ تستدعي هذه الطريقة مع كل كائن جديد تم إنشاؤه من تلك الفئة ؛ لذلك ، هذه الطريقة مناسبة لعمليات التهيئة التي قد يحتاجها الكائن قبل استخدامه.

يقدم الإصدار الخامس من PHP مفهوم الوظائف المدمرة ، وهو مفهوم شائع في لغات البرمجة الموجهة للكائنات مثل C ++. يتم استدعاء المدمر في حالة عدم وجود مرجع كائن.

الرؤية

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

وراثة الأشياء

وراثة الكائنات هي مبدأ معروف في البرمجة الشيئية وتستخدمه PHP في نموذجها الكائني. يؤثر هذا المبدأ على العلاقة بين الفئات والكائنات.

عامل تحليل النطاق

يسمح Scope Resolution Operator بالوصول إلى ثابت أو متجاوز أو ثوابت فئة.

كلمة رئيسية ثابتة

يمكن أيضًا استخدام Static لتحديد المتغيرات الثابتة والارتباطات الثابتة المتأخرة.

عناصر الشريط

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

واجهات الكائن

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

يتم تعريف الواجهات بنفس طريقة الفئات ، ولكن باستخدام الكلمة الأساسية للواجهة بدلاً من الكلمة الأساسية للفئة وبدون تحديد محتوى أي طريقة في الواجهة.

سمات

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

أصناف غير معروفة

تمت إضافة دعم الفئات المجهولة في PHP 7 ، وهذا النوع من الفئات مفيد عندما تحتاج إلى إنشاء مثيل واحد بسيط للفصل.

الزائد

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

تكرار الكائن

يوفر الإصدار الخامس من اللغة طريقة لتعريف العناصر بحيث يمكن اجتياز قائمة العناصر باستخدام عبارة foreach على سبيل المثال ، ويتم استخدام جميع الخصائص المرئية افتراضيًا لعناصر الانتقال.

التوابع السحرية

الطرق السحرية في فصول PHP هي:

  • ‎__construct()‎
  • ‎__destruct()‎
  • ‎__call()‎
  • ‎__callStatic()‎
  • ‎__get()‎
  • ‎__set()‎
  • ‎__isset()‎
  • ‎__unset()‎‎
  • ‎__sleep()‎
  • ‎__wakeup()‎
  • ‎__toString()‎
  • ‎__invoke()‎
  • ‎_‎_set_state()‎
  • ‎__clone()‎
  • ‎__debugInfo()‎

لا يمكنك استخدام وظائف بهذه الأسماء في أي فئة إلا إذا كنت ترغب في الاستفادة من وظائفها السحرية.

الكلمة الأخيرة في PHP

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

كائنات استنساخ

أي نسخة من الشيء بكل خصائصه.

قارن الأشياء

  • يمكن إجراء مقارنة بسيطة لمتغيرات الكائن باستخدام عامل المقارنة (==). يتساوى مثيلين من كائن إذا كان لديهم نفس المعلومات والقيم (مقارنة القيم باستخدام ====) ومثيلاته من نفس الفئة.
  • عند استخدام عامل المطابقة (===) ، تكون متغيرات الكائن متطابقة فقط عندما تشير إلى نفس المثيل من نفس الفئة فقط.

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

تسمح إعلانات النوع للوظائف بطلب النوع المحدد من المعلمة في وقت الاستدعاء ، وإذا كانت القيمة التي تم استدعاؤها من نوع مختلف ، فإن اللغة تطرح خطأ فادحًا قابلاً للاسترداد في الإصدار 5 ، وفي الإصدار 7 تطرح اللغة خطأ TypeError.

لتحديد النوع الذي ترغب في الإعلان عنه ، يجب أن يكون اسم النوع مسبوقًا باسم المعلمة ، ويمكن قبول قيم NULL عن طريق تعيين NULL كقيمة افتراضية للمعلمات.

الروابط الثابتة المتأخرة

تضمنت PHP 5.3.0 خاصية تسمى الارتباطات الثابتة المتأخرة والتي يمكن استخدامها للإشارة إلى فئة استدعاء في سياق الوراثة الثابتة.

الأشياء والمراجع

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

سلسلة الكائن

تُرجع الدالة serialize () سلسلة تحتوي على تمثيل byte stream لأي قيمة يمكن تخزينها في PHP ، ويمكن للدالة unseriazlie () استخدام هذه السلسلة لإعادة إنشاء القيمة الأصلية للمتغير. يؤدي تطبيق دالة serialize () على كائن إلى حفظ جميع متغيرات ذلك الكائن. لا يتم حفظ الطرق ، ولكن يتم حفظ اسم الفئة فقط.

سجل التغيير

تعرض الصفحة محفوظات التغييرات التي تم إجراؤها على نموذج البرمجة الكائن في الإصدار 5 من اللغة.

الخاتمه

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

تعليق 1
  1. وحدات مخصصة في جملة!

    […] إنشاء وحدة مخصصة ، يجب أن تكون على دراية بمفاهيم برمجة PHP الأساسية وهيكل ملف Joomla. بالإضافة إلى ذلك ، يوصى […]

اترك رد

لن يتم نشر عنوان بريدك الإلكتروني.