نتائج البحث

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

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

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

الدالة ()selector_replace في Sass

تبدِّل الدالة selector_replace()‎ المعامل ‎$replacement مكان نُسخ (instances) المعامل ‎$original أينما وجدت في المحدِّد ‎$selector المعطى. تعمل الدالة عبر استخدام القاعدة ‎@extend واستبعاد المحدِّد الأصلي. هذا يعني أنّه يمكن استخدامها للأداء عمليات تبديل معقدة. البنية العامة selector_replace($selector, $original, $replacement) المعاملات ‎$selector المحدِّد الذي سيُبدَّل داخله المحدَّد ‎$original مع المحدِّد ‎$replacement. يمكن أن يكون عبارةً عن سلسلة نصيَّة أو قائمة من سلاسل نصيَّة أو قائمة من قوائم من سلاسل نصيَّة كما تُعاد باستعمال الرمز &. ‎$original المحدِّد المراد استبداله. يمكن أن ...

RegExp.prototype.[@@search]()‎

الدالة RegExp.prototype.[@@search]()‎ تبحث عن تعبيرٍ نمطيٍ (regular expression) في سلسلةٍ نصية. البنية العامة regexp[Symbol.search](str) str السلسلة النصية التي سنبحث عن مُطابَقة للتعبير النمطي فيها. القيمة المعادة فهرس أوّل مطابقة للتعبير النمطي في السلسلة النصية، أو القيمة -1 إن لم تكن هنالك مطابقة. الوصف تُستدعى هذه الدالة داخليًا في الدالة String.prototype.search()‎. فمثلًا، كلا المثالين الآتيين يُعيد النتيجة نفسها: 'abc'.search(/a/); /a/[Symbol.search]('abc'); الغرض من وجود هذه الدالة هو السماح بإمكانية تخصيصها في الأصناف الفرعية المشتقة من RegExp. أمثلة استدعاء مباشر ستُستخدَم هذه الدالة بنفس طريقة ...

التابع Object.inspect في روبي

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

الدليل التطبيقي

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

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

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

الواجهات في TypeScript

مقدّمة تركيز التحقق من الأنواع (type-checking) على شكل (shape) القيم من مبادئ TypeScript الأساسية. يُصطلَح عليه أحيانًا بالتعبير duck typing أو التحقق من الأنواع الفرعيّة هيكليًّا (structural subtyping). تعمل الواجهات في TypeScript على تسمية هذه الأنواع، وهي طريقة قويّة لتعريف عقود (contracts) داخل شيفرتك أو عقود مع شيفرةٍ خارج مشروعك. واجهة بسيطة لنبدأ بمثال بسيط لنفهم كيفيّة عمل الواجهات: function printLabel(labelledObj: { label: string }) { console.log(labelledObj.label); } let myObj = {size: 10, label: "Size 10 Object"}; printLabel(myObj); سيتحقّق مدقّق ...

التابع Object.dup في روبي

ينتج التابع dup نسخةً سطحية (shallow copy) من الكائن. تُنسَخ متغيرات النسخة (instance variables) من الكائن، ولكن لا تُنسَخ الكائنات التي تشير إليها (referenced objects). يَنسخ التابع dup الحالة التالفة (tainted state) من الكائن. قد يملك هذا التابع سلوكًا محدَّدًا بالصنف (class-specific behavior)، إذا كان كذلك، سيُوثَّق هذا السلوك تحت التابع ‎.initialize_copy من الصنف نفسه. ما هو الفرق بين التابع clone والتابع dup؟ عمومًا، قد يمتلك التابعين clone و dup دلالاتٍ مختلفةٍ في الأصناف السليلة (descendant classes). لمَّا كان التابع ...

ملفات التصريحات اعتمادًا على الأمثلة في TypeScript

مقدمة الهدف من هذا الدليل هو تعليمك كيفيّة كتابة ملف تعريف عالي الجودة. هذا الدليل يريك أولًا توثيق واجهة برمجية (API) معيّنة مع طريقة استعمالها، ثم يشرح كيفية كتابة التصريح الملائم. هذه الأمثلة مرتبة تصاعديا حسب التعقيد، من الأبسط إلى الأعقد: المتغيرات العامة (Global Variables). الدوال العامة (Global Functions). الكائنات ذات الخاصيات. الدوال ذات الأحمال الزائدة (Overloaded Functions). الأنواع القابلة لإعادة الاستخدام (الواجهات). الأنواع القابلة لإعادة الاستخدام (أسماء الأنواع البديلة [Type Aliases]). تنظيم الأنواع. الأصناف. الأمثلة المتغيرات العامة التوثيق: يحتوي ...

الدالة ()selector_unify في Sass

توحِّد الدالة selector_unify()‎ اثنين من المحدِّدات في محدِّد واحد يطابق فقط العناصر المتطابقة في كلا هذين المحدّدين. تعيد الدالة القيمة العدميَّة null إن لم يكن هناك تطابق بين المحدِّدين. كما هو الحال مع توحيد المحدِّدات الذي تُنجزه القاعدة extend@، فإنَّ هذا لا يضمن أن المحدِّد الناتج باستعمال هذه الدالة سيُطابق جميع العناصر المتطابقة بين المُحدّدين المُمرَّرين. إذا وُحِّد مثلًا المحدِّد ‎.a .b مع المحدِّد ‎.x .y، فستعيد الدالة المحدِّد ‎.a .x .b.y, .x .a .b.y وليس المحدِّد ‎.a.x .b.y. هذا ...

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