نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

خاصيات الكائنات في PHP

تطلق تسمية "الخاصيات properties" على المتغيّرات المعرّفة ضمن الأصناف، وهناك تسميات أخرى مثل "المعاملات" أو "الحقول"، ولكن سنستخدم التسمية الأولى "الخاصيات" في هذا الدليل. تعرّف الخاصيات باستخدام إحدى الكلمات المفتاحية public، أو protected، أو private تتبعها عبارة تصريح عن متغير اعتيادي. يمكن أن يتضمّن هذا التصريح عملية تهيئة initialization، ولكن يجب أن تكون هذه التهيئة ذات قيمة ثابتة، بمعنى أنّه يجب أن تكون قابلة للمعالجة في وقت التصريف ويجب أن لا تعتمد على المعلومات المتاحة في وقت التشغيل لغرض المعالجة. ...

خاصيات الكائنات في PHP

تطلق تسمية "الخاصيات properties" على المتغيّرات المعرّفة ضمن الأصناف، وهناك تسميات أخرى مثل "المعاملات" أو "الحقول"، ولكن سنستخدم التسمية الأولى "الخاصيات" في هذا الدليل. تعرّف الخاصيات باستخدام إحدى الكلمات المفتاحية public، أو protected، أو private تتبعها عبارة تصريح عن متغير اعتيادي. يمكن أن يتضمّن هذا التصريح عملية تهيئة initialization، ولكن يجب أن تكون هذه التهيئة ذات قيمة ثابتة، بمعنى أنّه يجب أن تكون قابلة للمعالجة في وقت التصريف ويجب أن لا تعتمد على المعلومات المتاحة في وقت التشغيل لغرض المعالجة. ...

المعامل `‎ الخاص بالصنف Kernel في روبي

يعيد المعامل `` مجرى المخرجات القياسي (standard output) لتنفيذ تعليمة في صدفة فرعية (subshell). تُستخدَم الصياغة المضمَّنة ‎%x{...}‎‎ هذا المعامل. تُضبَط حالة العملية (process status) إلى القيمة ‎$?‎‎. البنية العامة `cmd` → string‎ المعاملات cmd يمثل التعليمة المراد تنفيذها. القيمة المعادة يعاد مجرى المخرجات القياسي لتنفيذ تعليمة cmd في صدفة فرعية (subshell). أمثلة مثال على استخدام المعامل ``‎: `date` #=> "Wed Apr ...

try...catch في JavaScript

التعبير البرمجي try...catch يُستخدَم لتجربة قسم من التعابير البرمجية، ويُحدِّد طريقةً لمعالجة الاستثناءات إن رُمِيَت. البنية العامة try { try_statements } [catch (exception_var_1) { catch_statements_1 }] ... [catch (exception_var_2) { catch_statements_2 }] [finally { finally_statements }] try_statements التعابير البرمجية التي ستُنفَّذ والتي قد ترمي استثناءً. catch_statements_1 و catch_statements_2 التعابير البرمجية التي ستُنفَّذ إذا رُمي استثناءٌ في قسم try. exception_var_1 و exception_var_2 مُعرِّف يُستخدَم لتخزين قيمة كائن الاستثناء (exception object) المرتبط مع قسم catch. finally_statements التعابير البرمجية التي ستُنفَّذ بعد إكمال ...

قابلية الرؤية في كائنات PHP

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

قابلية الرؤية في كائنات PHP

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

دوال التعامل مع الكائنات والأصناف في PHP

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

البرمجة كائنية التوجه في PHP

بدءًا من الإصدار الخامس من اللغة، أعيدت كتابة نموذج الكائنات للحصول على أداء أفضل وإضافة المزيد من الميزات، وقد كان هذا من التغييرات الكبيرة في اللغة، إذ قدّم الإصدار الخامس نموذج مكتملًا للكائنات. ومن الميزات التي قدّمها الإصدار الخامس قابلية الرؤية (visibility)، الأصناف والتوابع المجرّدة (abstract) والنهائية (final)، المزيد من التوابع السحرية (magical methods)، الواجهات (interfaces)، الاستنساخ (cloning) والإشارة إلى الأنواع (typehinting). تعامل PHP الكائنات معاملة المراجع (references) أو المقابض (handles)، بمعنى أنّ كلّ متغيّر يتضمن كائنًا مرجعيًا وليس نسخة ...

Function.name

الخاصية Function.name تُعيد اسم الدالة. سمات الخاصية Function.name قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط نعم لاحظ أنَّ المتصفحات التي كانت تدعم هذه الخاصية قبل أن تصبح معياريةً (في ECMAScript 2015) كانت تضبط السمة configurable إلى false (أي أنَّ هذه الخاصية غير قابلة للضبط). أمثلة اسم دالة مُصرَّح عنها الخاصية name تُعيد اسم الدالة المستخدم في تعبير التصريح عن الدوال: function doSomething() {} doSomething.name; // "doSomething" اسم دالة مُعرَّفة عبر الدالة البانية Function الدوال المُنشَأة عبر البنية new Function(...)‎ أو ...

وراثة الكائنات في PHP

وراثة الكائنات من المبادئ المعروفة في البرمجة كائنية التوجه وتستخدمه PHP في نموذج الكائنات الخاصّ بها. يؤثّر هذا المبدأ على العلاقة التي تربط بين الأصناف والكائنات. فعلى سبيل المثال، عند توسيع صنف معين، يرث الصنف الفرعي جميع التوابع من نوع public و protected من الصنف الأب، وإن لم يتجاوز (override،أي يعيد تعريف) الصنف الابن هذه التوابع فإنّها ستحافظ على وظيفتها الأصلية. يساعد مبدأ وراثة الكائنات في تعريف الوظائف التي تؤديها التوابع وجعلها أكثر تجريدًا، ويتيح أداء المزيد من الوظائف في ...

الدالة get_class()‎‎ في PHP

(PHP 4, PHP 5, PHP 7) تُعيد الدالة  get_class()‎‎‎‎‎‎‎‎ اسم الصنف لكائن object. الوصف string get_class ([ object $object ] ) تحصل الدالة get_class()‎‎‎‎‎‎‎‎ على اسم الصنف للكائن المُعطى object. المعاملات object اسم الكائن المُختبر. من الممكن أن يُحذف هذا المعامل عندما يتم استخدام الدالة get_class()‎  داخل صنف ما. ملاحظة: لم يعُد التمرير الصريح للقيمة NULL كقيمة للمعامل object مسموحًا بدءًا من الإصدار PHP 7.2.0. ولكن لا يزال المعامل object اختياريًا، وسيعمل استدعاء الدالة get_class()‎  بدون المعامل object من داخل صنف ما، ...

تجريد الأصناف في PHP

يقدّم الإصدار الخامس من اللغة الأصناف والتوابع المجرّدة (abstract classes and methods). لا يمكن تهيئة الأصناف المجرّدة، وإذا احتوى الصنف على تابع مجرّد واحدٍ على الأقل فيجب أن يكون الصنف مجردًا أيضًا. تصرّح الأصناف المجرّدة ببساطة عن توقيع التابع (method's signature، أي اسم الدالة وعدد ونوع معاملاتها)، ولا يمكنها تعريف محتويات تلك التوابع (implementation). عندما يرث صنفٌ ما من صنفٍ مجرّد، يجب تعريف جميع التوابع المجرّدة في الصنف الأب ضمن الصنف الابن، إضافة إلى وجوب تعريف هذه الأصناف بنفس مستوى ...

الدالة get_object_vars()‎‎‎‎ في PHP

(PHP 4, PHP 5, PHP 7) تحصل الدالة get_object_vars()‎‎‎ على خصائص (properties) الكائن المُعطى. الوصف array get_object_vars ( object $object ) تحصل الدالة get_object_vars()‎‎‎ على الخصائص غير الساكنة التي يمكن الوصول إليها للكائن المُعطى وفقًا للنطاق. المعاملات object الكائن الذي نريد الحصول على خصائصه. القيم المعادة تُعيد الدالة get_object_vars()‎‎‎ مصفوفة ترابطية لخصائص كائن مُعرّفة غير ساكنة قابلة للوصول لكائن مُحدد object في نطاق. إذا لم تُسند قيمة إلى خاصيةٍ ما، فستُعيد الدالة get_object_vars()‎ القيمة NULL. سجل التغييرات الإصدار الوصف 5.3.0 ...

الكائنات والمراجع في PHP

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

الكائنات والمراجع في PHP

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

‎سَلسَلة الكائن في PHP

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

وراثة الكائنات في PHP

وراثة الكائنات من المبادئ المعروفة في البرمجة كائنية التوجه وتستخدمه PHP في نموذج الكائنات الخاصّ بها. يؤثّر هذا المبدأ على العلاقة التي تربط بين الأصناف والكائنات. فعلى سبيل المثال، عند توسيع صنف معين، يرث الصنف الفرعي جميع التوابع من نوع public و protected من الصنف الأب، وإن لم يتجاوز (override،أي يعيد تعريف) الصنف الابن هذه التوابع فإنّها ستحافظ على وظيفتها الأصلية. يساعد مبدأ وراثة الكائنات في تعريف الوظائف التي تؤديها التوابع وجعلها أكثر تجريدًا، ويتيح أداء المزيد من الوظائف في ...

الدالة get_called_class()‎ في PHP

(PHP 5 >= 5.3.0, PHP 7) تُعيد الدالّة get_called_class()‎ اسم صنف الروابط الساكنة المتأخرة (Late Static Binding). الوصف string get_called_class ( void ) تُعيد الدالة get_called_class()‎ اسم الصنف الذي استُدعيت فيه الدالة الساكنة التابعة للصنف. القيم المعادة تُعيد الدالّة get_called_class()‎ اسم الصنف، وتُعيد FALSE إذا استدعيت من خارج نطاق الصنف. أمثلة المثال 1: مثال عن استخدام الدالّة get_called_class()‎ <?php class foo { static public function test() { var_dump(get_called_class()); } } class ...

ثوابت الأصناف في PHP

يمكن تعريف قيم ثابتة لا يمكن تعديلها ولكل صنفٍ على حدة. تختلف الثوابت عن المتغيرات الاعتيادية في عدم استخدام العلامة $ للتصريح عنها أو استخدامها. تمتلك ثوابت الأصناف قابلية رؤية من نوع public. يجب أن تكون القيمة تعبيرًا ثابتًا وليس (على سبيل المثال) متغيرًا أو خاصّية أو استدعاء دالة. يمكن للواجهات interfaces أن تمتلك ثوابت أيضًا. راجع التوثيق الخاص بالواجهات لمشاهدة الأمثلة. منذ الإصدار 5.3.0، أصبح بالإمكان استخدام المتغيرات للإشارة إلى الصنف، ولا يمكن أن يحمل المتغير قيمة تمثّل إحدى ...

الدالة is_a()‎ في PHP

(PHP 4 >= 4.2.0, PHP 5, PHP 7) تتحقق الدالة is_a()‎‎‎‎‎‎ فيما إذا كان الكائن من صنفٍ معيّن أو كان ذاك الصنف واحدًا من الأصناف الآباء له. الوصف bool is_a(object $object string $class_name [,bool $allow_string = FALSE ]) تتحقق الدالة is_a()‎‎‎‎‎‎  فيما إذا كانت الكائن المُعطى  object هو من الصنف class_name أو يملك هذا الصنف كواحد من الأصناف الآباء له. المعاملات object الكائن المُختبر. class_name اسم الصنف. allow_string إذا ضُبِطَت قيمة هذا المعامل إلى القيمة FALSE، فلا يُسمح عندها باستخدام اسم ...

الدالة method_exists()‎‎ في PHP

(PHP 4, PHP 5, PHP 7) تتحقق الدالة method_exists()‎‎‎‎‎‎ فيما إذا كانت الدالة التابعة للصنف method_name موجودة. الوصف bool method_exists ( mixed $object , string $method_name ) تتحقق الدالة method_exists()‎‎‎‎‎‎ فيما إذا كانت الدالة التابعة للصنف method_name موجودة في الكائن المُعطى object. المعاملات object نسخة الكائن أو اسم الصنف. method_name اسم الدالة التابعة للصنف. القيم المعادة تُعيد الدالة method_exists()‎‎‎‎‎‎ القيمة TRUE إذا كانت الدالة التابعة للصنف المُعطاة بالمعامل  method_name  مُعرّفة في الكائن  object المُعطى، وإلا فإنها ستُعيد القيمة FALSE. ...

الأصناف المجهولة في PHP

أُضيف دعم الأصناف المجهولة إلى الإصدار السابع من PHP، وهي مفيدة عند الحاجة إلى إنشاء نسخة واحدة بسيطة من الصنف. <?php // قبل الإصدار السابع class Logger { public function log($msg) { echo $msg; } } $util->setLogger(new Logger()); // الإصدار السابع وما بعده $util->setLogger(new class { public function log($msg) { echo $msg; } }); ?> يمكن للأصناف ...

مقارنة الكائنات في PHP

يمكن إجراء مقارنة بسيطة بين متغيرات الكائنات باستخدام عامل المقارنة (==)، وتكون نسختا الكائن متساويتين إن كانتا تملكان نفس المعاملات ونفس القيم (تقارن القيم باستخدام ==) وكانتا نسختين لنفس الصنف. عند استخدام عامل التطابق (===) تكون متغيرات الكائنات متطابقة عندما تشير فقط وفقط إذا إلى النسخة نفسها من الصنف نفسه. يوضّح المثال التالي هذه القواعد. المثال 1: مثال على مقارنة الكائنات في الإصدار الخامس من PHP <?php function bool2str($bool) { if ($bool === false) { ...

‎سَلسَلة الكائن في PHP

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

PHP Object Iteration

يقدّم الإصدار الخامس من اللغة طريقة لتعريف العناصر ليكون بالإمكان المرور على قائمة من العناصر باستخدام العبارة foreach على سبيل المثال، وتستخدم جميع الخصائص المرئية بصورة افتراضية لعملية المرور على العناصر. المثال 1: مثال بسيط على المرور على عناصر الكائن <?php class MyClass { public $var1 = 'value 1'; public $var2 = 'value 2'; public $var3 = 'value 3'; protected $protected = 'protected var'; private ...

تجريد الأصناف في PHP

يقدّم الإصدار الخامس من اللغة الأصناف والتوابع المجرّدة (abstract classes and methods). لا يمكن تهيئة الأصناف المجرّدة، وإذا احتوى الصنف على تابع مجرّد واحدٍ على الأقل فيجب أن يكون الصنف مجردًا أيضًا. تصرّح الأصناف المجرّدة ببساطة عن توقيع التابع (method's signature، أي اسم الدالة وعدد ونوع معاملاتها)، ولا يمكنها تعريف محتويات تلك التوابع (implementation). عندما يرث صنفٌ ما من صنفٍ مجرّد، يجب تعريف جميع التوابع المجرّدة في الصنف الأب ضمن الصنف الابن، إضافة إلى وجوب تعريف هذه الأصناف بنفس مستوى ...

استنساخ الكائنات في PHP

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

التحميل الزائد في PHP

تقديم ميزة التحميل الزائد في PHP القدرة على إنشاء الخصائص والتوابع بصورة ديناميكية، وتعالج هذه العناصر الديناميكية بواسطة التوابع السحرية (magic methods) التي يمكن استخدامها في الصنف لأداء العديد من الوظائف. تنفّذ توابع التحميل الزائد عند التفاعل مع الخصائص أو التوابع غير المصرّح عنها أو غير المرئية ضمن النطاق الحالي. سيستخدم هذا القسم مصطلحي "خاصية يتعذر الوصول إليها" و"تابع يتعذر الوصول إليه" للإشارة إلى حالة التصريح وقابلية الرؤية هذه. يجب تعريف جميع توابع التحميل الزائد كتوابع من نوع public. ملاحظة: ...

الدالة get_parent_class()‎‎‎‎ في PHP

(PHP 4, PHP 5, PHP 7) تحصل الدالة get_parent_class()‎‎‎‎ على اسم الصنف الأب لكائن أو لصنف. الوصف string get_parent_class ( mixed $object ) تحصل الدالة get_parent_class()‎‎‎‎ على اسم الصنف الأب لكائن أو لصنف وتعيده. المعاملات object اسم الكائن المُختبر أو اسم الصنف. هذا المعامل اختياري إذا استدعيناه من داخل دالة تابعة لصنف. القيم المعادة تُعيد الدالة get_parent_class()‎‎‎‎ اسم الصنف الأب للصنف الذي يكون object نسخة منه أو الاسم. إذا استُدعيت الدالة get_parent_class()‎ بدون معامل خارج كائن، فتُعيد هذه الدالة القيمة ...

الدالة is_subclass_of()‎‎ في PHP

(PHP 4 >= 4.2.0, PHP 5, PHP 7) تتحقق الدالة is_subclass_of()‎‎‎‎‎‎‎ فيما إذا كان يملك الكائن صنفًا ما كواحد من الأصناف الآباء له أو ينفذه. الوصف bool is_subclass_of ( mixed $object , string $class_name [, bool $allow_string = TRUE ] ) تتحقق الدالة is_subclass_of()‎‎‎‎‎‎‎  فيما إذا كان الصنف class_name هو واحد من الأصناف الآباء للكائن object. المعاملات object اسم الصنف أو نسخة الكائن. لن يولَّد خطأ إذا لم يكن الصنف موجودًا. class_name اسم الصنف. allow_string إذا ضُبِطَت قيمة هذا المعامل إلى ...

استنساخ الكائنات في PHP

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

الدالة trait_exists()‎‎ في PHP

(PHP 5 >= 5.4.0, PHP 7) تتحقق الدالة trait_exists()‎‎‎‎‎‎‎‎ فيما إذا كانت السمة (trait) موجودةً. الوصف bool trait_exists ( string $traitname [, bool $autoload ] ) المعاملات traitname اسم السمة المُراد التحقق منها. autoload فيما إذا كان يجب أن تُحمَّل السمة تلقائيًا إن لم تكن مُعرَّفةً من قبل. القيم المعادة ستُعيد الدالة trait_exists()‎‎‎‎‎‎‎‎ القيمة TRUE  إذا كانت السمة موجودة، وستُعيد القيمة FALSE  إذا كانت السمة غير موجودة، وستُعيد NULL في حال حدوث خطأ. انظر أيضًا الدالة class_exists()‎: التحقق من أنّ الصنف ...

الدالة property_exists()‎‎ في PHP

(PHP 5 >= 5.1.0, PHP 7) تتحقق الدالة  property_exists()‎‎‎‎‎‎‎ فيما إذا كان لدى الكائن أو الصنف الخاصيّة property. الوصف bool property_exists ( mixed $class , string $property ) تتحقق الدالة property_exists()‎‎‎‎‎‎‎ فيما إذا كانت الخاصية property  المُعطاة موجودةً في الصنف المُحدّد. ملاحظة: على عكس الدالة isset()‎، ستُعيد الدالة property_exists()‎ القيمة TRUE حتى لو كان لدى الخاصية القيمة NULL. المعاملات class اسم الصنف أو كائن من الصنف الذي يُراد اختباره. property اسم الخاصية المراد التأكد من وجودها. القيم المعادة تُعيد الدالة ...

واجهات الكائنات في PHP

تتيح واجهات الكائنات إنشاء شيفرة تحدّد التوابع التي يجب أن يتضمّنها الصنف دون الحاجة إلى تعريف آلية التحكّم في هذه التوابع. تعرّف الواجهات بنفس طريقة تعريف الأصناف، ولكن باستخدام الكلمة المفتاحية interface بدل الكلمة المفتاحية class ودون تعريف محتوى أيّ تابعٍ في الواجهة. يجب أن تكون جميع التوابع المصرّح عنها في الواجهة من النوع public وهذه هي طبيعة الواجهة. يمكن التصريح عن تابع بانٍ في الواجهة، وهو أمر مفيد في بعض الحالات، كاستخدام التابع من قبل المعامل factories. العامل implements ...

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

التوابع السحرية في أصناف PHP هي ‎__construct()‎ و ‎__destruct()‎ و ‎__call()‎ و ‎__callStatic()‎ و ‎__get()‎ و ‎__set()‎ و ‎__isset()‎ و ‎__unset()‎‎ و ‎__sleep()‎ و ‎__wakeup()‎ و ‎__toString()‎ و ‎__invoke()‎ و ‎_‎_set_state()‎ و ‎__clone()‎ و ‎__debugInfo()‎. ولا يمكنك استخدام دوالّ تحمل هذه الأسماء في أي صنف ما لم تكن ترغب في الاستفادة من الوظيفة السحرية التي تتمتّع بها. تحذير: تحجز PHP جميع الدوال التي تبدأ بالرمز __ كدوال سحرية؛ لذا ينصح بعدم تسمية دوالك الخاصة بأسماء تبدأ بهذا الرمز ما لم ...

الدالة get_class_methods()‎ في PHP

(PHP 4, PHP 5, PHP 7) تُعيد الدالّة get_class_methods()‎ أسماء الدوال التابعة للصنف. الوصف array get_class_methods ( mixed $class_name ) تُعيد الدالة get_class_methods()‎ أسماء الدوال التابعة للصنف الممرّر لها. المعاملات class_name اسم الصنف أو نسخة الكائن (الذي نريد معرفة أسماء الدوال التابعة له). القيم المعادة تُعيد الدالّة get_class_methods()‎ مصفوفة بأسماء الدوال المعرّفة التابعة للصنف المحدّد من خلال المعامل class_name، ويعيد القيمة NULL عند وجود خطأ. أمثلة المثال 1: مثال عن استخدام الدالّة get_class_methods()‎ <?php class myclass { // ...

الدالة interface_exists()‎ في PHP

(PHP 5 >= 5.0.2, PHP 7) تتحقق الدالة interface_exists()‎‎‎‎‎ فيما إذا كانت الواجهة (interface) مُعرّفة. الوصف bool interface_exists (string $interface_name [, bool $autoload = TRUE ]) تتحقق الدالة interface_exists()‎‎‎‎‎ فيما إذا كانت الواجهة المُعطاة مُعرّفة. المعاملات interface_name اسم الواجهة. autoload يُحدِّد هذا المعامل فيما إذا كانت ستُستدعى الدالة ‎__autoload‎‎ أم لا. القيم المعادة تُعيد الدالة interface_exists()‎‎‎‎‎ القيمة TRUE إذا كانت الواجهة المُعطاة بالمعامل interface_nam مُعرّفة، وإلا فإنها ستُعيد القيمة FALSE. أمثلة المثال 1: مثال عن استخدام الدالة interface_exists()‎‎‎ <?php // التحقق ...

واجهات الكائنات في PHP

تتيح واجهات الكائنات إنشاء شيفرة تحدّد التوابع التي يجب أن يتضمّنها الصنف دون الحاجة إلى تعريف آلية التحكّم في هذه التوابع. تعرّف الواجهات بنفس طريقة تعريف الأصناف، ولكن باستخدام الكلمة المفتاحية interface بدل الكلمة المفتاحية class ودون تعريف محتوى أيّ تابعٍ في الواجهة. يجب أن تكون جميع التوابع المصرّح عنها في الواجهة من النوع public وهذه هي طبيعة الواجهة. يمكن التصريح عن تابع بانٍ في الواجهة، وهو أمر مفيد في بعض الحالات، كاستخدام التابع من قبل المعامل factories. العامل implements ...

الدالة class_alias()‎ في PHP

(PHP 5 >= 5.3.0, PHP 7) تُنشئ الدالّة class_alias()‎‎ اسمًا مستعارًا للصنف. الوصف bool class_alias ( string $original , string $alias [, bool $autoload= TRUE ] ) تنشئ الدالة class_alias()‎ اسما مستعار يسمّى alias اعتمادًا على الصنف original المعرّف من قبل المستخدم. الصنف المستعار هو نفس الصنف الأصلي تمامًا. المعاملات original الصنف الأصلي الذي نريد إنشاء اسم مستعار له. alias الاسم المستعار للصنف. autoload استخدام التحميل التلقائي إذا لم يُعثر على الصنف الأصلي. القيم المعادة تُعيد الدالّة class_alias()‎ القيمة TRUE ...

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

التوابع السحرية في أصناف PHP هي ‎__construct()‎ و ‎__destruct()‎ و ‎__call()‎ و ‎__callStatic()‎ و ‎__get()‎ و ‎__set()‎ و ‎__isset()‎ و ‎__unset()‎‎ و ‎__sleep()‎ و ‎__wakeup()‎ و ‎__toString()‎ و ‎__invoke()‎ و ‎_‎_set_state()‎ و ‎__clone()‎ و ‎__debugInfo()‎. ولا يمكنك استخدام دوالّ تحمل هذه الأسماء في أي صنف ما لم تكن ترغب في الاستفادة من الوظيفة السحرية التي تتمتّع بها. تحذير: تحجز PHP جميع الدوال التي تبدأ بالرمز __ كدوال سحرية؛ لذا ينصح بعدم تسمية دوالك الخاصة بأسماء تبدأ بهذا الرمز ما لم ...

الأصناف المجهولة في PHP

أُضيف دعم الأصناف المجهولة إلى الإصدار السابع من PHP، وهي مفيدة عند الحاجة إلى إنشاء نسخة واحدة بسيطة من الصنف. <?php // قبل الإصدار السابع class Logger { public function log($msg) { echo $msg; } } $util->setLogger(new Logger()); // الإصدار السابع وما بعده $util->setLogger(new class { public function log($msg) { echo $msg; } }); ?> يمكن للأصناف ...

مقارنة الكائنات في PHP

يمكن إجراء مقارنة بسيطة بين متغيرات الكائنات باستخدام عامل المقارنة (==)، وتكون نسختا الكائن متساويتين إن كانتا تملكان نفس المعاملات ونفس القيم (تقارن القيم باستخدام ==) وكانتا نسختين لنفس الصنف. عند استخدام عامل التطابق (===) تكون متغيرات الكائنات متطابقة عندما تشير فقط وفقط إذا إلى النسخة نفسها من الصنف نفسه. يوضّح المثال التالي هذه القواعد. المثال 1: مثال على مقارنة الكائنات في الإصدار الخامس من PHP <?php function bool2str($bool) { if ($bool === false) { ...

التحميل الزائد في PHP

تقديم ميزة التحميل الزائد في PHP القدرة على إنشاء الخصائص والتوابع بصورة ديناميكية، وتعالج هذه العناصر الديناميكية بواسطة التوابع السحرية (magic methods) التي يمكن استخدامها في الصنف لأداء العديد من الوظائف. تنفّذ توابع التحميل الزائد عند التفاعل مع الخصائص أو التوابع غير المصرّح عنها أو غير المرئية ضمن النطاق الحالي. سيستخدم هذا القسم مصطلحي "خاصية يتعذر الوصول إليها" و"تابع يتعذر الوصول إليه" للإشارة إلى حالة التصريح وقابلية الرؤية هذه. يجب تعريف جميع توابع التحميل الزائد كتوابع من نوع public. ملاحظة: ...

الدالة get_declared_classes()‎‎‎ في PHP

(PHP 4, PHP 5, PHP 7) تُعيد الدالة get_declared_classes()‎ مصفوفةً فيها أسماء الأصناف المُصرّح عنها. الوصف array get_declared_classes ( void ) تحصل الدالة get_declared_classes()‎  على الأصناف المُصرّح عنها. المعاملات لا تملك الدالة get_declared_classes()‎ أيّة معاملات. القيم المعادة تُعيد الدالة get_declared_classes()‎ مصفوفة بأسماء الأصناف المُصرّح عنها في السكربت الحالي. ملاحظة: يمكن أن توجد أصناف إضافية في PHP  اعتمادًا على الإضافات المجمّعة (compiled) والمحملة إليها. وهذا يعني أنك لن تكون قادرًا على استخدام أسماء هذه الأصناف في تعريف أصنافك الخاصّة. ستجد قائمة بالأصناف ...

الدالة get_declared_traits()‎‎‎ في PHP

(PHP 5 >= 5.4.0, PHP 7) تُعيد الدالة get_declared_traits()‎‎ مصفوفة بكل السمات (traits) المُصرّح عنها. الوصف array get_declared_traits ( void ) المعاملات لا تملك الدالة get_declared_traits()‎ أيّة معاملات. القيم المعادة تُعيد الدالة get_declared_traits()‎‎ مصفوفة بأسماء كل السمات المُصرّح عنها في القيم. وتُعيد الدالة القيمة NULL في حال حدوث خطأ. انظر أيضًا الدالة class_uses()‎‎: إعادة السمات المُستخدمة من قبل صنف مُعطى. الدالة trait_exists()‎‎: التحقق من وجود السمة. مصادر صفحة الدالة get_declared_traits‎ في توثيق PHP الرسمي.

الدالة class_exists()‎ في PHP

(PHP 4, PHP 5, PHP 7) تتحقق الدالّة class_exists()‎‎‎ من أنّ الصنف الممرّر مُعرّف. الوصف bool class_exists ( string $class_name [, bool $autoload = TRUE ] ) تتحقق الدالة class_exists()‎ من أن الصنف الممرّر إليها مُعرّف أم لا. المعاملات class_name اسم الصف المراد التحقق منه. يتم مطابقة الاسم بشكل غير حساس لحالة الأحرف. autoload ضبط إذا كانت ستُستدعى دالة ‎__autoload‎‎ افتراضيًا أم لا. القيم المعادة تُعيد الدالّة class_exists()‎ القيمة TRUE إذا كان الصنف class_name معرّفًا، وإلاّ فستُعيد FALSE. سجل التغييرات ...

PHP Object Iteration

يقدّم الإصدار الخامس من اللغة طريقة لتعريف العناصر ليكون بالإمكان المرور على قائمة من العناصر باستخدام العبارة foreach على سبيل المثال، وتستخدم جميع الخصائص المرئية بصورة افتراضية لعملية المرور على العناصر. المثال 1: مثال بسيط على المرور على عناصر الكائن <?php class MyClass { public $var1 = 'value 1'; public $var2 = 'value 2'; public $var3 = 'value 3'; protected $protected = 'protected var'; private ...

ثوابت الأصناف في PHP

يمكن تعريف قيم ثابتة لا يمكن تعديلها ولكل صنفٍ على حدة. تختلف الثوابت عن المتغيرات الاعتيادية في عدم استخدام العلامة $ للتصريح عنها أو استخدامها. تمتلك ثوابت الأصناف قابلية رؤية من نوع public. يجب أن تكون القيمة تعبيرًا ثابتًا وليس (على سبيل المثال) متغيرًا أو خاصّية أو استدعاء دالة. يمكن للواجهات interfaces أن تمتلك ثوابت أيضًا. راجع التوثيق الخاص بالواجهات لمشاهدة الأمثلة. منذ الإصدار 5.3.0، أصبح بالإمكان استخدام المتغيرات للإشارة إلى الصنف، ولا يمكن أن يحمل المتغير قيمة تمثّل إحدى ...

الدالة get_class_vars()‎‎ في PHP

(PHP 4, PHP 5, PHP 7) تُعيد الدالّة get_class_vars()‎‎‎‎ الخصائص الافتراضية للصنف. الوصف array get_class_vars ( string $class_name ) تُعيد الدالّة get_class_vars()‎‎‎‎ الخصائص الافتراضية للصنف المُمرّر إليها. المعاملات class_name اسم الصف المراد الحصول على الخصائص الافتراضية له. القيم المعادة تُعيد الدالّة get_class_vars()‎‎ مصفوفة ترابطية من الخصائص المصرّح عنها المرئية في النطاق الحالي، مع قيمها الافتراضية. تكون عناصر المصفوفة الناتجة على الشكل التالي: اسم الخاصية => القيمة (varname => value). وتُعيد FALSE في حال وجود خطأ. سجل التغييرات الإصدار الوصف 5.0.3 ستُعيد ...

الدالة get_declared_interfaces()‎‎‎ في PHP

(PHP 5, PHP 7) تُعيد الدالة get_declared_interfaces()‎‎ مصفوفة  بكل الواجهات (interfaces) المُصرّح عنها. الوصف array get_declared_interfaces ( void ) تحصل الدالة get_declared_interfaces()‎‎ على الواجهات المُصرّح عنها. المعاملات لا تملك الدالة get_declared_interfaces()‎ أيّة معاملات. القيم المعادة تُعيد الدالة get_declared_interfaces()‎‎ مصفوفة بأسماء الواجهات المُصرّح عنها في السكربت الحالي. أمثلة المثال 1: مثال عن استخدام الدالّة get_declared_interfaces()‎ <?php print_r(get_declared_interfaces()); ?> سينتج المثال السابق الناتج الآتي: Array ( [0] => Traversable [1] => IteratorAggregate [2] => Iterator ...

for في PHP

(PHP 4, PHP 5, PHP 7) تعدّ حلقات for النوع الأكثر تعقيدًا من الحلقات في PHP، وهي مشابهة لنظيرتها في لغة C، وتأخذ الصيغة التالية: for (expr1; expr2; expr3) statement ينفّذ التعبير expr1 مرة واحدة دون قيد أو شرط في بداية الحلقة، وينفّذ التعبير expr2 في بداية كل دورة، فإن كانت النتيجة هي TRUE فتستمر الحلقة في عملها وتنفّذ العبارات المضمّنة فيها، أما إن كانت النتيجة هي FALSE فتتوقف الحلقة عن العمل، أما التعبير expr3 فينفّذ في ...

if في PHP

(PHP 4, PHP 5, PHP 7) بنية if هي واحدة من أهم الميزات المتوفّرة في العديد من اللغات البرمجية، ومن ضمنها PHP. إذ تتيح تنفيذ أجزاء من الشيفرة اعتمادًا على شروط معينة. تعتمد PHP بنية if المعتمدة في لغة C: if (expr) statement تُحسب التعابير -كما ورد في الفصل المتعلّق بالتعابير في هذا الدليل- إلى قيمة منطقية (Boolean)، فإن كانت نتيجة الحساب هي TRUE تنفذ PHP العبارة، وإن كانت نتيجة الحساب هي FALSE تتجاهل اللغة ذلك التعبير. يمكن الحصول ...

for في PHP

(PHP 4, PHP 5, PHP 7) تعدّ حلقات for النوع الأكثر تعقيدًا من الحلقات في PHP، وهي مشابهة لنظيرتها في لغة C، وتأخذ الصيغة التالية: for (expr1; expr2; expr3) statement ينفّذ التعبير expr1 مرة واحدة دون قيد أو شرط في بداية الحلقة، وينفّذ التعبير expr2 في بداية كل دورة، فإن كانت النتيجة هي TRUE فتستمر الحلقة في عملها وتنفّذ العبارات المضمّنة فيها، أما إن كانت النتيجة هي FALSE فتتوقف الحلقة عن العمل، أما التعبير expr3 فينفّذ في ...

if في PHP

(PHP 4, PHP 5, PHP 7) بنية if هي واحدة من أهم الميزات المتوفّرة في العديد من اللغات البرمجية، ومن ضمنها PHP. إذ تتيح تنفيذ أجزاء من الشيفرة اعتمادًا على شروط معينة. تعتمد PHP بنية if المعتمدة في لغة C: if (expr) statement تُحسب التعابير -كما ورد في الفصل المتعلّق بالتعابير في هذا الدليل- إلى قيمة منطقية (Boolean)، فإن كانت نتيجة الحساب هي TRUE تنفذ PHP العبارة، وإن كانت نتيجة الحساب هي FALSE تتجاهل اللغة ذلك التعبير. يمكن الحصول ...

الكلمة المفتاحية final في PHP

قدّم الإصدار الخامس من اللغة الكلمة المفتاحية final والتي تمنع الأصناف الأبناء من التجاوز على توابع الصنف الأب وذلك بإضافة الكلمة المفتاحية قبل عبارة تعريف التابع. إذا استُخدمت الكلمة المفتاحية final في تعريف الصنف فإنّه يصبح غير قابل للتوسع. المثال 1: مثال على استخدام final في تعريف التوابع <?php class BaseClass { public function test() { echo "BaseClass::test() called\n"; } final public function moreTesting() { ...

عامل تحليل النطاق (::) في PHP

يسمح عامل تحليل النطاق (Scope Resolution Operator) بالوصول إلى الخاصيات والتوابع من نوع static، أو المتجاوز عليها أو الثوابت الخاصة بصنف معين. يجب استخدام اسم الصنف عند الإشارة إلى هذه العناصر من خارج الصنف. منذ الإصدار 5.3.0 من اللغة أصبح بالإمكان الإشارة إلى الصنف باستخدام متغير، ولا يمكن أن يحمل المتغير قيمة تمثّل كلمة مفتاحية (مثل self، و parent، و static). المثال 1: استخدام الرمز :: من خارج الصنف <?php class MyClass { const CONST_VALUE = 'A constant ...

الكلمة المفتاحية final في PHP

قدّم الإصدار الخامس من اللغة الكلمة المفتاحية final والتي تمنع الأصناف الأبناء من التجاوز على توابع الصنف الأب وذلك بإضافة الكلمة المفتاحية قبل عبارة تعريف التابع. إذا استُخدمت الكلمة المفتاحية final في تعريف الصنف فإنّه يصبح غير قابل للتوسع. المثال 1: مثال على استخدام final في تعريف التوابع <?php class BaseClass { public function test() { echo "BaseClass::test() called\n"; } final public function moreTesting() { ...

الكلمة المفتاحية Static في PHP

توضّح هذه الصفحة طريقة استخدام الكلمة المفتاحية static لتعريف التوابع والخاصيات الساكنة. يمكن استخدام static أيضًا لتعريف المتغيرات الساكنة والروابط الساكنة اللاحقة (late static bindings). يرجى الرجوع إلى تلك الصفحات للحصول على المزيد من المعلومات حول معنى static في كل حالة. يؤدي التصريح الساكن عن الخاصيات والتوابع إلى القدرة على الوصول إليها دون الحاجة إلى تهيئة الصنف. لا يمكن الوصول إلى الخاصيات الساكنة في الكائنات المهيّئة من الأصناف (ولكن يمكن الوصول إلى التوابع الساكنة). لضمان توافق الشيفرة مع الإصدار الرابع ...

التحميل التلقائي للأصناف في PHP

يُنشئ أغلب المطوّرين الذي يكتبون تطبيقات كائنية التوجه ملف PHP واحد لكل صنف. وهنا تظهر مشكلة مزعجة للغاية، وهي الحاجة إلى كتابة قائمة طويلة بالأصناف التي يجب تضمينها للبدء بتنفيذ الشيفرة (قائمة لكل صنف). لم يعد هذا الأمر ضروريًا في الإصدار الخامس من اللغة، إذ تسجّل الدالة spl_autoload_register()‎‎ عددًا غير محدّدٍ من المحمّلات التلقائية لتتيح إمكانية التحميل التلقائي للأصناف والواجهات غير المعرّفة في ملف الشيفرة. يمنح تسجيلُ المحمّلات التلقائية اللغةَ فرصة أخيرة لتحميل الصنف أو الواجهة قبل أن تتوقف الشيفرة ...

التحميل التلقائي للأصناف في PHP

يُنشئ أغلب المطوّرين الذي يكتبون تطبيقات كائنية التوجه ملف PHP واحد لكل صنف. وهنا تظهر مشكلة مزعجة للغاية، وهي الحاجة إلى كتابة قائمة طويلة بالأصناف التي يجب تضمينها للبدء بتنفيذ الشيفرة (قائمة لكل صنف). لم يعد هذا الأمر ضروريًا في الإصدار الخامس من اللغة، إذ تسجّل الدالة spl_autoload_register()‎‎ عددًا غير محدّدٍ من المحمّلات التلقائية لتتيح إمكانية التحميل التلقائي للأصناف والواجهات غير المعرّفة في ملف الشيفرة. يمنح تسجيلُ المحمّلات التلقائية اللغةَ فرصة أخيرة لتحميل الصنف أو الواجهة قبل أن تتوقف الشيفرة ...

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

التابع الباني Constructor void __construct ([ mixed $args = "" [, $... ]] ) تتيح لغة PHP للمطورين التصريح عن تابع بانٍ في الأصناف. كل صنف يمتلك تابعًا بانيًا يُستدعى مع كل كائن جديد يُنشأ من ذلك الصنف؛ لهذا يعد هذا التابع ملائمًا لعمليات التهيئة التي قد يحتاج لها الكائن قبل استخدامه. ملاحظة: لا يُستدعى التابع الباني الأب ضمنيًا عندما يعرّف الصنف الابن تابعه الخاص، ولاستدعاء التابع الباني الأب يمكن استخدام الصيغة parent::__construct()‎ ضمن التابع الباني الابن. أما في حال ...

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

التابع الباني Constructor void __construct ([ mixed $args = "" [, $... ]] ) تتيح لغة PHP للمطورين التصريح عن تابع بانٍ في الأصناف. كل صنف يمتلك تابعًا بانيًا يُستدعى مع كل كائن جديد يُنشأ من ذلك الصنف؛ لهذا يعد هذا التابع ملائمًا لعمليات التهيئة التي قد يحتاج لها الكائن قبل استخدامه. ملاحظة: لا يُستدعى التابع الباني الأب ضمنيًا عندما يعرّف الصنف الابن تابعه الخاص، ولاستدعاء التابع الباني الأب يمكن استخدام الصيغة parent::__construct()‎ ضمن التابع الباني الابن. أما في حال ...

عامل تحليل النطاق (::) في PHP

يسمح عامل تحليل النطاق (Scope Resolution Operator) بالوصول إلى الخاصيات والتوابع من نوع static، أو المتجاوز عليها أو الثوابت الخاصة بصنف معين. يجب استخدام اسم الصنف عند الإشارة إلى هذه العناصر من خارج الصنف. منذ الإصدار 5.3.0 من اللغة أصبح بالإمكان الإشارة إلى الصنف باستخدام متغير، ولا يمكن أن يحمل المتغير قيمة تمثّل كلمة مفتاحية (مثل self، و parent، و static). المثال 1: استخدام الرمز :: من خارج الصنف <?php class MyClass { const CONST_VALUE = 'A constant ...

الكلمة المفتاحية Static في PHP

توضّح هذه الصفحة طريقة استخدام الكلمة المفتاحية static لتعريف التوابع والخاصيات الساكنة. يمكن استخدام static أيضًا لتعريف المتغيرات الساكنة والروابط الساكنة اللاحقة (late static bindings). يرجى الرجوع إلى تلك الصفحات للحصول على المزيد من المعلومات حول معنى static في كل حالة. يؤدي التصريح الساكن عن الخاصيات والتوابع إلى القدرة على الوصول إليها دون الحاجة إلى تهيئة الصنف. لا يمكن الوصول إلى الخاصيات الساكنة في الكائنات المهيّئة من الأصناف (ولكن يمكن الوصول إلى التوابع الساكنة). لضمان توافق الشيفرة مع الإصدار الرابع ...

الدالة Promise.prototype.finally()‎ في JavaScript

الدالة finally()‎ تعيد وعدًا Pormise، وعندما تُقرَّر قيمة الوعد، سواءً كان مقبولًا أو مرفوضًا، فستُنفَّذ دالة رد النداء (callback) المُحدَّدة. وهذا ما يوفِّر طريقة لتنفيذ شيفرة ما بعد التعامل مع كائن Pormise سواءً كان الوعد مقبولًا أو مرفوضًا. تسمح هذه الدالة لنا بتفادي تكرار الشيفرات في دوال then()‎ و catch()‎. البنية العامة p.finally(onFinally); p.finally(function() { // قُرِّرَت قيمة الوعد، سواءً كان مقبولًا أم مرفوضًا }); المعاملات onFinally الدالة التي ستُستدعى عند تقرير قيمة الوعد. القيمة المعادة كائن Pormise الذي تكون ...

الروابط الساكنة المتأخرة في كائنات PHP

تضمن الإصدار 5.3.0 من PHP خاصية تدعى بالروابط الساكنة المتأخرة (late static bindings) والتي يمكن استخدامها للإشارة إلى الصنف المستدعى في سياق وراثة ساكنة. وبتعبير أدق تعمل الروابط الساكنة المتأخر عن طريق تخزين الصنف المسمّى في نهاية "الاستدعاء غير الموجِّه non-forwarding call". في حالة الاستدعاء الساكن للتوابع يكون هذا التابع هو التابع المصرّح عنه (يأتي عادة على يسار العامل ::) أما في حالة الاستدعاء غير الساكن للتوابع فيكون الصنف هو صنف الكائن. "الاستدعاء غير الموجِّه" هو استدعاء ساكن يقدَّم بواسطة self::‎‎‎ ...

الروابط الساكنة المتأخرة في كائنات PHP

تضمن الإصدار 5.3.0 من PHP خاصية تدعى بالروابط الساكنة المتأخرة (late static bindings) والتي يمكن استخدامها للإشارة إلى الصنف المستدعى في سياق وراثة ساكنة. وبتعبير أدق تعمل الروابط الساكنة المتأخر عن طريق تخزين الصنف المسمّى في نهاية "الاستدعاء غير الموجِّه non-forwarding call". في حالة الاستدعاء الساكن للتوابع يكون هذا التابع هو التابع المصرّح عنه (يأتي عادة على يسار العامل ::) أما في حالة الاستدعاء غير الساكن للتوابع فيكون الصنف هو صنف الكائن. "الاستدعاء غير الموجِّه" هو استدعاء ساكن يقدَّم بواسطة self::‎‎‎ ...

switch في PHP

(PHP 4, PHP 5, PHP 7) تشبه عبارة switch سلسلةً من عبارات if مطبّقة على نفس التعبير. قد تحتاج في بعض الأحيان إلى مقارنة نفس المتغير (أو التعبير) مع قيم مختلفة (حالات cases)، وتنفيذ شيفرة مختلفة بالاعتماد على ذلك، وهذه هي وظيفة عبارة switch. ملاحظة: بخلاف بعض اللغات البرمجية، يمكن استخدام عبارة continue في switch وهي تعمل عمل العبارة break. إن كنت تستخدم switch داخل حلقة وأردت الانتقال إلى الدورة التالية في الحلقة التكرارية الخارجية، استخدم continue 2. ملاحظة: تؤدي ...

include في PHP

(PHP 4, PHP 5, PHP 7) تعمل عبارة include على تضمين ومعالجة الملف المحدّد. ينطبق التوثيق التالي على عبارة require. تُضمّن الملفات بالاعتماد على المسار المعطى للعبارة، وفي حال عدم تحديد المسار، تأخذ include المسار المحدد في include_path. إن لم يكن الملف موجودًا في include_path ستتحقّق include في المجلّد الذي يحتوي على الشيفرة التي أجرت الاستدعاء وفي مجلد العمل الحالي قبل أن تطلق خطأً. تطلق بنية include تحذيرًا إن لم تتمكن من العثور على الملف، وتختلف في ذلك عن require ...

break في PHP

(PHP 4, PHP 5, PHP 7) تنهي break تنفيذ حلقات for أو foreach أو while أو do-while أو بنية switch. تأخذ break معاملًا عدديًا اختياريًا يُحدّد من خلاله عدد البنى المتداخلة التي‏ يجب إيقاف تنفيذها. القيمة الافتراضية لهذا المعامل هي 1، والذي يعني إيقاف تنفيذ البنية الحالية فقط. <?php $arr = array('one', 'two', 'three', 'four', 'stop', 'five'); while (list(, $val) = each($arr)) { if ($val == 'stop') { break; /* يمكن أيضًا كتابة /* ...

require في PHP

(PHP 4, PHP 5, PHP 7) العبارة require مطابقة للعبارة include باستثناء أنّها تطلق خطأ من نوع E_COMPLE_ERROR في حال فشلها في جلب الملف. وبعبارة أخرى فإنها ستوقف عمل الشيفرة تمامًا، في حين أنّ include تطلق تحذيرًا (E_WARNING) والذي لا يؤدي إلى إيقاف الشيفرة عن العمل. راجع توثيق include لمعرفة طريقة عملها. مصادر صفحة require في توثيق PHP الرسمي.

المتغيرات في PHP

يكون التعبير عن المتغيرات في PHP باستخدام علامة $ متبوعة باسم المتغير والذي يكون حساسًا لحالة الأحرف. تتبع المتغيرات نفس القواعد المتبّعة للتسمية في PHP. إذ يبدأ اسم المتغير الصحيح بحرف أو بشرطة سفلية متبوعة بعدد غير محدد من الحروف أو الأرقام أو الشرطات السفلية. ولو أردنا استخدام التعابير النمطية (Regular Expression) للتعبير عن اسم المتغير فسيكون كالتالي: '‎‎[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*‎‎'. ملاحظة: في هذا الدليل الحرف هو كل ما يقع ضمن النطاق a-z و A-Z والبايتات من 127 إلى 255 (0x7f-0xff). ملاحظة: ...

الثوابت في PHP

الثابت هو معرّف (اسم) لقيمة بسيطة، وكما هو واضح من الاسم فإنّ هذه القيمة غير قابلة للتبديل أثناء تنفيذ الشيفرة (باستثناء الثوابت السحرية والتي لا تعدّ ثوابت في الواقع). الثابت حساس لحالة الأحرف ومن الشائع استخدام الأحرف الكبيرة في تسمية الثوابت. تتبع الثوابت نفس القواعد المتّبعة للتسمية في PHP، فاسم الثابت الصحيح يبدأ بحرف أو بشرطة سفلية، متبوعًا بعدد غير محدّد من الأحرف والأرقام والشرطات السفلية. ولو أردنا استخدام التعابير النمطية (Regular Expressions) للتعبير عن اسم المتغير فسيكون كالتالي: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* ...

continue في PHP

(PHP 4, PHP 5, PHP 7) تستخدم continue في الحلقات التكرارية لتجاوز ما يأتي بعدها في الحلقة التكرارية والاستمرار في تنفيذ الشيفرة حسب الشرط المعتمد في الحلقة ثم الانتقال إلى بداية الدورة التالية. تأخذ continue معاملًا عدديًّا اختياريًا يمكن من خلاله تحديد عدد الحلقات التكرارية المحيطة بها والتي يجب تجاوزها إلى النهاية. القيمة الافتراضية هي 1 والتي تعني الانتقال إلى نهاية الحلقة الحالية. ملاحظة: تعدّ عبارة switch في PHP من الحلقات التكرارية عند الحديث عن continue. تسلك continue سلوك break ...

العوامل في PHP

يأخذ العامل (operator) قيمة واحدة أو أكثر (أو تعابير حسب اصطلاحات البرمجة) ويعطي قيمة أخرى (بحيث تتحول البنية نفسها إلى تعبير). يمكن تصنيف العوامل بحسب عدد القيم التي تأخذها، فالعوامل الأحادية Uanry تأخذ قيمة واحدة فقط مثل العامل (!) (معامل النفي المنطقي) أو (++) (معامل الزيادة). أما العوامل الثنائية فتأخذ قيمتين، وخير مثال عليها هو العوامل الحسابية المعروفة (+) الجمع، و (-) الطرح، إضافة إلى غالبية العوامل التي تقدّمها لغة PHP. وأخيرًا هناك معامل ثلاثي وحيد وهو ? : ويأخذ قيمًا ثلاثة، ...

declare في PHP

(PHP 4, PHP 5, PHP 7) تستخدم بنية declare لتعيين موجّهات التنفيذ (execution directives) لكتلة من الشيفرة، وصيغة declare مشابهة لبنى التحكم في تدفق الشيفرة. الوصف declare (directive) statement يتيح الموجه تعيين سلوك كتلة (block). يمكن للغة في الوقت الحاضر أن تتعرف على ثلاثة أنواع من الموجهات فقط: موجه ticks (للمزيد من المعلومات حول موجه ticks انظر أدناه)، وموجه encoding (للمزيد من المعلومات حول موجه encoding انظر أدناه)، وموجه strict_types (للمزيد من المعلومات راجع قسم strict في ...

return في PHP

(PHP 4, PHP 5, PHP 7) تعيد تنفيذ البرنامج إلى الوحدة التي قامت بالاستدعاء، وسيستمر التنفيذ إلى التعبير الذي يلي تعبير الاستدعاء. إذا استدعيت عبارة return داخل الدالة فإنّها ستنهي تنفيذ الدالة على الفور وتعيد معاملها كقيمة لاستدعاء الدالة. تنهي return أيضًا تنفيذ عبارة eval()‎ أو ملف الشيفرة. إن استدعيت عبارة return من النطاق العام (global scope) فإنها تنهي عملية تنفيذ ذلك الملف. وإن كان ملف الشيفرة مضمنًا (included) أو مطلوبًا (required)، فإن التحكّم يعود إلى الملف المستدعي مرة أخرى. ...

المصفوفات في PHP

المصفوفة في PHP هي خريطة (map) مرتّبة، والخريطة هي نوع ترتبط فيه القيم مع المفاتيح، ولها استخدامات عديدة، فيمكن التعامل معها كمصفوفة أو قائمة (vector) أو جدول hash (نوع من الخرائط) أو قاموس (dictionary) أو مجموعة (collection) أو مكدس (stack) أو طابور (queue) وغير ذلك، حتى أن قيم المصفوفة يمكن أن تكون مصفوفات أخرى، ممّا يسمح بإنشاء مصفوفات متعددة الأبعاد. لن نشرح جميع هذه الأنواع في هذا التوثيق، لكن ستجد مثالًا واحدًا على الأقل لكلٍ منها. الصياغة إنشاء المصفوفات باستخدام ...

foreach في PHP

(PHP 4, PHP 5, PHP 7) تقدّم بنية foreach طريقة سهلة للتنقل بين عناصر المصفوفات، وتعمل هذه البنية مع المصفوفات والكائنات فقط، ويؤدي استخدامها مع متغير ذي نوع بيانات مختلف أو متغير غير مهيئ إلى إطلاق خطأ. لهذه البنية صيغتان: foreach (array_expression as $value) statement foreach (array_expression as $key => $value) statement تنتقل الصيغة الأولى عبر المصفوفة بحسب التعبير المقدّم إليها (array_expression). وفي كل دورة تسند اللغة قيمة العنصر الحالي إلى المتغير ‎$value ويتقدّم المؤشر ...

الكائنات في PHP

تهيئة الكائن لإنشاء كائن جديد، استخدم التعبير البرمجي new لتهيئة كائن من صنفٍ ما (class): <?php class foo { function do_foo() { echo "Doing foo."; } } $bar = new foo; $bar->do_foo(); ?> راجع فصل الأصناف والكائنات (Classes and Objects) للمزيد من المعلومات. التحويل إلى كائن إذا حوّلنا كائنًا إلى كائنٍ آخر فلن يُعدَّل فيه شيء، أما إذا حولنا قيمةً من أي نوعٍ آخر إلى كائن، فستُنشَأ نسخةً جديدةً من ...

goto في PHP

(PHP 5 >= 5.3.0, PHP 7) يمكن استخدام عامل goto للانتقال إلى قسم آخر في البرنامج، وتعيّن نقطة الانتقال هذه بواسطة وسم متبوعٍ بنقطتين رأسيتين (:)، وتكون طريقة الانتقال باستخدام العامل goto متبوعًا بالوسم المراد الانتقال إليه. هناك بعض القيود المفروضة على استخدام goto، إذ يجب أن يكون الوسم الهدف في نفس الملف ونفس السياق (context)، بمعنى أنّه لا يمكن الانتقال من داخل الدالة أو التابع إلى الخارج كما لا يمكن الانتقال إلى الداخل. لا يمكن أيضًا الانتقال إلى أي ...

continue في PHP

(PHP 4, PHP 5, PHP 7) تستخدم continue في الحلقات التكرارية لتجاوز ما يأتي بعدها في الحلقة التكرارية والاستمرار في تنفيذ الشيفرة حسب الشرط المعتمد في الحلقة ثم الانتقال إلى بداية الدورة التالية. تأخذ continue معاملًا عدديًّا اختياريًا يمكن من خلاله تحديد عدد الحلقات التكرارية المحيطة بها والتي يجب تجاوزها إلى النهاية. القيمة الافتراضية هي 1 والتي تعني الانتقال إلى نهاية الحلقة الحالية. ملاحظة: تعدّ عبارة switch في PHP من الحلقات التكرارية عند الحديث عن continue. تسلك continue سلوك break ...

require_once في PHP

(PHP 4, PHP 5, PHP 7) عبارة require_once مطابقة للعبارة require باستثناء أن PHP ستتحقق مما إذا كان الملف مضمّنًا أم لا، وذلك لتجنّب تضمينه (require) مرة أخرى. راجع توثيق include_once للمزيد من المعلومات حول طريقة عمل ‎_once، والفرق بينها وبين الدوال التي لا تلحق بها هذه اللاحقة. مصادر صفحة require_once في توثيق PHP الرسمي.

الأخطاء في PHP

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

require في PHP

(PHP 4, PHP 5, PHP 7) العبارة require مطابقة للعبارة include باستثناء أنّها تطلق خطأ من نوع E_COMPLE_ERROR في حال فشلها في جلب الملف. وبعبارة أخرى فإنها ستوقف عمل الشيفرة تمامًا، في حين أنّ include تطلق تحذيرًا (E_WARNING) والذي لا يؤدي إلى إيقاف الشيفرة عن العمل. راجع توثيق include لمعرفة طريقة عملها. مصادر صفحة require في توثيق PHP الرسمي.

المولدات في PHP

تقدّم المولِّدات (Generators) طريقة سهلة لاستخدام المكرِّرات (Iterators) البسيطة دون الدخول في تعقيدات استخدام صنف يطبّق الواجهة Iterator. تتيح المولِّدات كتابة شيفرة تستخدم foreach لمرور على مجموعة من البيانات دون الحاجة إلى بناء مصفوفة في الذاكرة مما قد يؤدي إلى تجاوز حدود الذاكرة، أو يحتاج إلى وقت معالجة طويل لإنشائه. بدلًا من ذلك، يمكن كتابة دالة مولِّدة وهي دالة مشابهة للدوال الاعتيادية باستثناء أنّها لا تعيد النتيجة مرة واحدة بل تعيد العدد المطلوب من النتائج لغرض تقديم القيم التي يتم ...

else في PHP

(PHP 4, PHP 5, PHP 7) قد ترغب في كثير من الأحيان تنفيذ عبارة معينة عند تحقق شرط معين وتنفيذ عبارة أخرى في حال عدم تحقق الشرط. هنا يأتي دور else، والتي تعمل على تمديد عبارة if لتنفيذ عبارة أخرى في حال أدّى حساب عبارة if إلى النتيجة FALSE. على سبيل المثال تطبع الشيفرة التالية عبارة 'a is greater than b' إن كان المتغير ‎$a أكبر من المتغير ‎$b، وتطبع العبارة 'a is NOT greater than b' إن كان ‎$a ...

foreach في PHP

(PHP 4, PHP 5, PHP 7) تقدّم بنية foreach طريقة سهلة للتنقل بين عناصر المصفوفات، وتعمل هذه البنية مع المصفوفات والكائنات فقط، ويؤدي استخدامها مع متغير ذي نوع بيانات مختلف أو متغير غير مهيئ إلى إطلاق خطأ. لهذه البنية صيغتان: foreach (array_expression as $value) statement foreach (array_expression as $key => $value) statement تنتقل الصيغة الأولى عبر المصفوفة بحسب التعبير المقدّم إليها (array_expression). وفي كل دورة تسند اللغة قيمة العنصر الحالي إلى المتغير ‎$value ويتقدّم المؤشر ...

PHP/Function

تحتوي لغة PHP على عددٍ كبير من الدوال القياسية المُضمَّنة في اللغة. دوال المصفوفات الدوال الرياضية دوال معالجة النصوص

المراجع في PHP

المراجع (references) في PHP هي وسيلة للوصول إلى محتوى المتغير نفسه باستخدام أسماء مختلفة، والمراجع لا تشبه المؤشّرات في لغة C، فعلى سبيل المثال لا يمكن إجراء العمليات الحسابية الخاصّة بالمؤشّرات على المراجع، وهي ليست عناوين ذاكرة حقيقية، وهكذا. راجع الصفحة "ما هو غير المقصود بالمراجع" للمزيد من المعلومات. المراجع هي أسماء بديلة رمزية مجدولة (Symbol table aliases). لاحظ أنّ اسم المتغير ومحتواه مختلفان في لغة PHP؛ لهذا يمكن لنفس المحتوى أن يحمل اسمين مختلفين. وأقرب مثال على ذلك هو ...

include_once في PHP

(PHP 4, PHP 5, PHP 7) تُضمِّن العبارة include_once الملفّ المحدد وتعالجه أثناء تنفيذ الشيفرة. هذه السلوك مشابه لعبارة include والفرق الوحيد هنا هو إن كانت شيفرة ذلك الملف مضمّنة من قبل فإنّها لن تُضمِّنَه مرة أخرى، وترجع include_once القيمة TRUE، وهذا السلوك متوقع من اسم العبارة. يمكن استخدام include_once في الحالات التي يمكن لنفس الملف أن يُضمَّن ويُعالَج لأكثر من مرة خلال مرحلة معيّنة من مراحل تنفيذ الشيفرة، وفي هذه الحالة يمكن تجنب بعض المشاكل مثل إعادة تعريف الدوال ...

الكائنات في PHP

تهيئة الكائن لإنشاء كائن جديد، استخدم التعبير البرمجي new لتهيئة كائن من صنفٍ ما (class): <?php class foo { function do_foo() { echo "Doing foo."; } } $bar = new foo; $bar->do_foo(); ?> راجع فصل الأصناف والكائنات (Classes and Objects) للمزيد من المعلومات. التحويل إلى كائن إذا حوّلنا كائنًا إلى كائنٍ آخر فلن يُعدَّل فيه شيء، أما إذا حولنا قيمةً من أي نوعٍ آخر إلى كائن، فستُنشَأ نسخةً جديدةً من ...

include_once في PHP

(PHP 4, PHP 5, PHP 7) تُضمِّن العبارة include_once الملفّ المحدد وتعالجه أثناء تنفيذ الشيفرة. هذه السلوك مشابه لعبارة include والفرق الوحيد هنا هو إن كانت شيفرة ذلك الملف مضمّنة من قبل فإنّها لن تُضمِّنَه مرة أخرى، وترجع include_once القيمة TRUE، وهذا السلوك متوقع من اسم العبارة. يمكن استخدام include_once في الحالات التي يمكن لنفس الملف أن يُضمَّن ويُعالَج لأكثر من مرة خلال مرحلة معيّنة من مراحل تنفيذ الشيفرة، وفي هذه الحالة يمكن تجنب بعض المشاكل مثل إعادة تعريف الدوال ...

require_once في PHP

(PHP 4, PHP 5, PHP 7) عبارة require_once مطابقة للعبارة require باستثناء أن PHP ستتحقق مما إذا كان الملف مضمّنًا أم لا، وذلك لتجنّب تضمينه (require) مرة أخرى. راجع توثيق include_once للمزيد من المعلومات حول طريقة عمل ‎_once، والفرق بينها وبين الدوال التي لا تلحق بها هذه اللاحقة. مصادر صفحة require_once في توثيق PHP الرسمي.

المولدات في PHP

تقدّم المولِّدات (Generators) طريقة سهلة لاستخدام المكرِّرات (Iterators) البسيطة دون الدخول في تعقيدات استخدام صنف يطبّق الواجهة Iterator. تتيح المولِّدات كتابة شيفرة تستخدم foreach لمرور على مجموعة من البيانات دون الحاجة إلى بناء مصفوفة في الذاكرة مما قد يؤدي إلى تجاوز حدود الذاكرة، أو يحتاج إلى وقت معالجة طويل لإنشائه. بدلًا من ذلك، يمكن كتابة دالة مولِّدة وهي دالة مشابهة للدوال الاعتيادية باستثناء أنّها لا تعيد النتيجة مرة واحدة بل تعيد العدد المطلوب من النتائج لغرض تقديم القيم التي يتم ...

elseif في PHP

(PHP 4, PHP 5, PHP 7) كما هو واضح من الاسم فإنّ هذه العبارة هي مزيج من if و else، وكما هو الحال مع else يمكن توسيع عبارة if لتنفيذ عبارة أخرى في حال كانت نتيجة تعبير if هي FALSE. ولكن، على العكس من else، فإن elseif تنفذ ذلك التعبير البديل في حالة واحدة فقط وهي أن تكون نتيجة التعبير الشرطي المتعلق بعبارة elseif هي TRUE. فعلى سبيل المثال تعرض الشيفرة التالية عبارة 'a is bigger than b'، أو 'a ...

المصفوفات في PHP

المصفوفة في PHP هي خريطة (map) مرتّبة، والخريطة هي نوع ترتبط فيه القيم مع المفاتيح، ولها استخدامات عديدة، فيمكن التعامل معها كمصفوفة أو قائمة (vector) أو جدول hash (نوع من الخرائط) أو قاموس (dictionary) أو مجموعة (collection) أو مكدس (stack) أو طابور (queue) وغير ذلك، حتى أن قيم المصفوفة يمكن أن تكون مصفوفات أخرى، ممّا يسمح بإنشاء مصفوفات متعددة الأبعاد. لن نشرح جميع هذه الأنواع في هذا التوثيق، لكن ستجد مثالًا واحدًا على الأقل لكلٍ منها. الصياغة إنشاء المصفوفات باستخدام ...

goto في PHP

(PHP 5 >= 5.3.0, PHP 7) يمكن استخدام عامل goto للانتقال إلى قسم آخر في البرنامج، وتعيّن نقطة الانتقال هذه بواسطة وسم متبوعٍ بنقطتين رأسيتين (:)، وتكون طريقة الانتقال باستخدام العامل goto متبوعًا بالوسم المراد الانتقال إليه. هناك بعض القيود المفروضة على استخدام goto، إذ يجب أن يكون الوسم الهدف في نفس الملف ونفس السياق (context)، بمعنى أنّه لا يمكن الانتقال من داخل الدالة أو التابع إلى الخارج كما لا يمكن الانتقال إلى الداخل. لا يمكن أيضًا الانتقال إلى أي ...

الموارد في PHP

المورد هو متغير خاص يحمل مرجعيةً إلى مورد خارجي، تُنشَأ الموارد وتُستخدَم باستعمال دوال خاصة، اطلع على الملحق للحصول على قائمة تضم جميع الدوال مع نوع المورد المناسب. اطلع على الدالة get_resource_type()‎ أيضًا. التحويل إلى مورد لا يمكن تحويل القيم من الأنواع الأخرى إلى موارد، فهذه المتغيرات تحمل مقابض (handles) خاصة لفتح الملفات، اتصالات قاعدة البيانات، مناطق الصورة … تحرير الموارد بفضل نظام عدّ المراجع (reference-counting system) الموجود في محرك Zend، ستُكتَشَف الموارد التي لا تمتلك مرجع إليها تلقائيًا، ,وتُحرَّر ...

require في PHP

(PHP 4, PHP 5, PHP 7) العبارة require مطابقة للعبارة include باستثناء أنّها تطلق خطأ من نوع E_COMPLE_ERROR في حال فشلها في جلب الملف. وبعبارة أخرى فإنها ستوقف عمل الشيفرة تمامًا، في حين أنّ include تطلق تحذيرًا (E_WARNING) والذي لا يؤدي إلى إيقاف الشيفرة عن العمل. راجع توثيق include لمعرفة طريقة عملها. مصادر صفحة require في توثيق PHP الرسمي.

عرض (500 السابقة | 500 التالية) (20 | 50 | 100 | 250 | 500).