نتائج البحث

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

الكائن JSON في JavaScript

الكائن JSON يحتوي على الدوال التي تُفسِّر صيغة JavaScript Object Notation (اختصارًا JSON) وتحوّل القيم إلى صيغة JSON. ليس الغرض من هذا الكائن هو تهيئته أو بناؤه (عبر المعامل new)، وليس له عملٌ خاصٌ به باستثناء وجود دالتين تابعتين له. الوصف صيغة JSON هي صيغة لتخزين الكائنات والمصفوفات والأعداد والسلاسل النصية والقيم المنطقية والقيمة null؛ وهي مبنية على صيغة JavaScript لكنها تختلف عنها، فبعض شيفرات JavaScript ليست صالحةً في JSON، وبعض شيفرات JSON ليس صالحةً في JavaScript. الجدول الآتي يعرض ...

دوال التعامل مع صيغة JSON في PHP

يتيح الامتداد JSON معالجة صيغة تبادل البيانات JavaScript Object Notation (اختصارًا JSON) في لغة PHP. يُعالَج فك تّرميز JSON في الإصدار الخامس من PHP بواسطة مُحلِّل اعتمادًا على الأداة JSON_checker التي أنشأها Douglas Crockford، بينما يأتي الإصدار السّابع من PHP مع مُحلِّل مُحسَّن وجديد تمامًا مكتوب خصّيصًا لأجل PHP ومُرخَّص بموجب رخصة PHP. مُلاحظة: تعتمد PHP مجموعة عُليا من JSON كما هو مُحدَّد في المعيار الأصلي RFC 7159. json_decode()‎ تفك ترميز سلسلة نصية بصيغة JSON. json_encode()‎ تُعيد قيمة ما على ...

حفظ البيانات المهيكلة بصيغة JSON في بايثون

يمكن قراءة وكتابة السلاسل النصية في الملفات بسهولة ويسر، أما الأرقام فتحتاج إلى المزيد من الجهد لأنّ التابع read()‎ يعيد السلاسل النصية فقط والتي يجب تمريرها إلى دالة مثل int()‎ والتي تأخذ سلسلة نصية مثل '123' وتعيد القيمة العددية 123. أما البيانات الأكثر تعقيدًا مثل القوائم أو القواميس المتداخلة فتحتاج إلى عمليات تحليل (parsing) وسَلسَلة (serializing) لا يمكن القيام بها بصورة يدوية. وبدلًا من إجبار المستخدمين على كتابة الشيفرات وتنقيحها بصورة مستمرة لغرض حفظ البيانات المعقّدة في الملفات، تتيح بايثون ...

حفظ البيانات المهيكلة بصيغة JSON في بايثون

يمكن قراءة وكتابة السلاسل النصية في الملفات بسهولة ويسر، أما الأرقام فتحتاج إلى المزيد من الجهد لأنّ التابع read()‎ يعيد السلاسل النصية فقط والتي يجب تمريرها إلى دالة مثل int()‎ والتي تأخذ سلسلة نصية مثل '123' وتعيد القيمة العددية 123. أما البيانات الأكثر تعقيدًا مثل القوائم أو القواميس المتداخلة فتحتاج إلى عمليات تحليل (parsing) وسَلسَلة (serializing) لا يمكن القيام بها بصورة يدوية. وبدلًا من إجبار المستخدمين على كتابة الشيفرات وتنقيحها بصورة مستمرة لغرض حفظ البيانات المعقّدة في الملفات، تتيح بايثون ...

التابع ‎‎jQuery.parseJSON()‎‎ في jQuery

jQuery.parseJSON( json )‎ أهمل مع الإصدار: 3.0. القيم المعادة يعيد مصفوفةً (Array) أو سلسلةً نصيةً (String) أو عددًا (Number) أو كائنًا (Object) أو قيمة منطقيَّة (Boolean). الوصف يفسِّر هذا التابع سلسلة نصية بصيغة JSON إلى قيمة مقابلة في JavaScript. jQuery.parseJSON( json )‎ أُضيف مع الإصدار: 1.4.1. json سلسلة نصية بصيغة JSON يراد تفسيرها. بدءًا من الإصدار jQuery 3.0، أهمل التابع ‎$.parseJSON()‎، لذا استعمل التابع JSON.parse()‎ الأساسي في JavaScript عوضًا عنه. سيُرمى استثناءٌ في JavaScript إذا لم تكن السلسلة النصية المعطاة ...

التابع ‎‎jQuery.parseJSON()‎‎ في jQuery

jQuery.parseJSON( json )‎ أهمل مع الإصدار: 3.0. القيم المعادة يعيد مصفوفةً (Array) أو سلسلةً نصيةً (String) أو عددًا (Number) أو كائنًا (Object) أو قيمة منطقيَّة (Boolean). الوصف يفسِّر هذا التابع سلسلة نصية بصيغة JSON إلى قيمة مقابلة في JavaScript. jQuery.parseJSON( json )‎ أُضيف مع الإصدار: 1.4.1. json سلسلة نصية بصيغة JSON يراد تفسيرها. بدءًا من الإصدار jQuery 3.0، أهمل التابع ‎$.parseJSON()‎، لذا استعمل التابع JSON.parse()‎ الأساسي في JavaScript عوضًا عنه. سيُرمى استثناءٌ في JavaScript إذا لم تكن السلسلة النصية المعطاة ...

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

(PHP 5 >= 5.2.0, PHP 7, PECL json >= 1.2.0) تفك الدالة json_decode()‎ ترميز سلسلة نصية بصيغة JSON. الوصف mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0]]] ) تأخذ سلسلة مُرمَّزة بصيغة JSON وتحوِّلها إلى مُتغيِّر PHP. المعاملات json سلسلة نصية بصيغة JSON التي سيُفكُّ ترميزها. تعمل هذه الدّالّة مع سلاسل نصّيّة مُرمَّزة بترميز UTF-8 فقط. ملاحظة: تعتمد PHP مجموعة عُليا من JSON كما هو مُحدَّد في المعيار ...

الدالة ‎‎jQuery.getJSON()‎‎ في jQuery

jQuery.getJSON( url [, data ] [, success ] )‎ القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف تجلب هذه الدالة بياناتٍ مرمَّزة بصيغة JSON من الخادم باستعمال طلب HTTP عبر الطريقة GET. jQuery.get( url [, data ] [, success ] )‎ أُضيفت مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسَل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية تُرسَل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR jqXHR )‎ يراد ...

الدالة ‎‎jQuery.getJSON()‎‎ في jQuery

jQuery.getJSON( url [, data ] [, success ] )‎ القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف تجلب هذه الدالة بياناتٍ مرمَّزة بصيغة JSON من الخادم باستعمال طلب HTTP عبر الطريقة GET. jQuery.get( url [, data ] [, success ] )‎ أُضيفت مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسَل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية تُرسَل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR jqXHR )‎ يراد ...

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

(PHP 5 >= 5.3.0, PHP 7) تُعيد الدالة json_last_error()‎ آخر خطأ حاصل. الوصف int json_last_error ( void )‎ تُعيد آخر خطأ حاصل (إن كان هنالك خطأ) خلال آخر عمليّة ترميز أو فك ترميز لصيغة JSON. المعاملات لا تملك هذه الدالة أي مُعامِلات. القيم المعادة تُعيد عدد صحيح. يُمكن للقيمة أن تكون أحد الثوابت الموجودة في الجدول الآتي، الذي يعرض رموز أخطاء JSON: الثابت المعنى التوافر JSON_ERROR_NONE لم يحصل أي خطأ. JSON_ERROR_DEPTH تم تجاوز القيمة القصوى للعمق. JSON_ERROR_STATE_MISMATCH صيغة JSON غير صالحة. ...

JSON.parse()‎

الدالة JSON.parse()‎ تُفسِّر سلسلة JSON النصية، وتبني القيمة أو الكائن في JavaScript الموصوف من السلسلة النصية. ويمكن توفير دالة اختيارية لإجراء عملية تحويل على الكائن قبل إعادته. البنية العامة JSON.parse(text[, reviver]) text السلسلة النصية التي ستُفسَّر على أنها بصيغة JSON. راجع صفحة الكائن JSON لمزيٍد من المعلومات حول هذه الصيغة. reviver الدالة التي تصف كيفية تحويل القيمة المُخزَّنة بصيغة JSON إلى القيمة الأصلية قبل إعادتها. القيمة المعادة كائن Object يُمثِّل قيمة JSON. الاستثناءات سيرمى الاستثناء SyntaxError إذا لم تكن السلسلة ...

JSON.stringify()‎

الدالة JSON.stringify()‎ تحوِّل قيمةً في JavaScript إلى سلسلة نصية بصيغة JSON، وتستطيع -اختياريًّا- استبدال القيم إذا حُدِّدَت دالة استبدال (replacer)، أو تضمين خاصيات مُعيّنة إذا حُدِّدة مصفوفة استبدال (replacer). البنية العامة JSON.stringify(value[, replacer[, space]]) value القيمة التي نريد تحويلها إلى صيغة JSON. replacer الدالة التي ستُغيّر من سلوك عملية التحويل، أو مصفوفة من كائنات String و Number التي تعمل كقائمة بالخاصيات المسموحُ تضمينها في الكائن؛ إذا كانت هذه القيمة null أو لم تضبَط فستضمَّن جميع الخاصيات. space كائن من النوع ...

اختبارات HTTP في Laravel

مقدمة يزوّدك Laravel بـواجهة برمجيّة سلسة للقيام بطلبات HTTP لتطبيقك وتحليل الناتج. على سبيل المثال، القِ نظرة على الاختبار التالي: <?php namespace Tests\Feature; use Tests\TestCase; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Foundation\Testing\WithoutMiddleware; class ExampleTest extends TestCase {    /**     * مثال اختبار بسيط.     *     * @return void     */    public function testBasicTest()    {        $response = $this->get('/');        $response->assertStatus(200);    } } ينشئ التابع get طلب GET للتطبيق، بينما يتأكد التابع assertStatus من أنّ الرد المُعاد يحتوي على رمز حالة HTTP المعطى. إضافةً إلى هذا التأكد البسيط، يحتوي Laravel على مجموعة من توابع التأكيد لفحص المعلومات المتعلقة بالرد، كترويسات الرد (response headers)‎، ومحتوى الرد، وبنية ...

السلسلة في رابط الكائنات بالعلاقات Eloquent

مقدمة عند بناء واجهات JSON APIs، تحتاج معظم الأوقات إلى تحويل نماذجك وعلاقاتها إلى مصفوفات أو كائنات JSON. يزود Eloquent بمجموعة من التوابع المساعدة لهذه التحويلات، إضافةً إلى التحكم بالحقول التي يجب تضمينها في التحويلات. سلسلة النماذج والمجموعات السلسلة لمصفوفات لتحويل نموذج وعلاقاته المحمّلة لمصفوفة، يمكنك استخدام التابع toArray. إن هذا التابع تعاودي، لذلك ستُحوّل كل الحقول وكل العلاقات (وعلاقات العلاقات) إلى مصفوفات: $user = App\User::with('roles')->first(); return $user->toArray(); يمكنك أيضًا تحويل مجموعة كاملة من النماذج إلى مصفوفة: $users = App\User::all(); return $users->toArray(); السلسلة ...

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

(PHP 5 >= 5.2.0, PHP 7, PECL json >= 1.2.0) تُعيد الدالة json_encode()‎ قيمةً ما على شكل صيغة JSON. الوصف string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] ) تُعيد سلسلة نصّيّة على شكل صيغة JSON للقيمة المُدخلة. يتأثّر الترميز بالخيارات المُعطاة للمُعامِل options ويعتمد ترميز القيم من نوع عدد ذو فاصلة عائمة (float) على القيمة المُحدَّدة في الإعدادات للخيار serialize_precision. المعاملات value وهي القيمة المطلوب ترميزها، يمكن أن تكون من أي نوع ...

المعدلات في رابط الكائنات بالعلاقات Eloquent

مقدمة تمكّنك المعدّلات والموصّلات من تنسيق قيم خاصيّات Eloquent عند استردادها أو تعيينها على كائنات النماذج. مثلًا، يمكنك استخدام مشفّر Laravel لتشفير قيمة ما أثناء تخزينها بقاعدة لًا، ومن ثمّ فك تشفيرها تلقائيًّا عند استردادها من نموذج Eloquent. إضافةً إلى المعدلات والموصلات الافتراضية، يمكّنك Eloquent من التحويل التلقائي للخاصيات الزمنية إلى كائنات من الصنف Carbon أو حتى تحويل الخاصيات النصية إلى كائنات JSON. المعدلات والموصلات تعريف الموصل لتعريف موصل ما، عرف التابع getFooAttribute على صنف نموذجك حيث Foo هو اسم ...

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

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

أساسيات Active Model في ريلز

يجب أن يوفر لك هذا الدليل كل ما تحتاج إليه للبدء في استخدام أصناف Model. يسمح Active Model لمساعدي Action Pack بالتفاعل مع كائنات روبي الصرفة. يساعد Active Model أيضًا على إنشاء قواعد بيانات ORM مخصصة للاستخدام خارج إطار ريلز. بعد قراءة هذا الدليل، ستتعلم: كيف يعمل نموذج Active Record. كيف تعمل ردود النداء وعمليات التحقق. كيف تعمل المُسَلسِلات (serializers). كيف يتكامل Active Model مع إطار تدويل ريلز (i18n). مقدمة Active Model هو مكتبة تحتوي على وحدات مختلفة تستخدم في ...

استعمال ريلز لإنشاء تطبيقات ذات واجهة برمجية فقط

في هذا الدليل ستتعلم: ما تقدمه ريلز للتطبيقات ذات الواجهة البرمجية فقط. كيفية ضبط ريلز للبدء دون أي ميزات للمتصفح. كيفية تحديد البرامج الوسيطة (middleware) التي تريد تضمينها. كيفية تحديد الوحدات لاستخدامها في وحدة التحكم الخاصة بك. ما الذي يعنيه «تطبيق ذو واجهة برمجية فقط»؟ تقليديًا، عندما قال الناس أنهم استخدموا ريلز كـ "واجهة برمجية"، فقد كان يعني توفير واجهة برمجية يمكن الوصول إليها برمجيًا جنبًا إلى جنب مع تطبيق الويب الخاص بهم. على سبيل المثال، يوفر GitHub واجهة برمجية ...

مهيئ الكائنات في JavaScript

يمكن تهيئة الكائنات باستخدام new Object()‎ أو الدالة Object.create()‎ أو باستخدام الشكل المختصرة (initializer notation). إنَّ مُهيّئ الكائنات هو قائمة فيها «صفر» زوج أو أكثر من أسماء الخاصيات مع القيم المرتبطة بها، مفصولةٌ بفواصل، ويحيط بها قوسين معقوفين {}. البنية العامة var o = {}; var o = {a: 'foo', b: 42, c: {}}; var a = 'foo', b = 42, c = {}; var o = {a: a, b: b, c: c}; var o = { property: function ([parameters]) {}, get property() ...

الدالة help()‎ في بايثون

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

الموارد في رابط الكائنات بالعلاقات Eloquent

مقدمة عند بناء واجهات برمجة التطبيقات (المدعوة اختصاراً APIs)، قد تحتاج إلى طبقة تحويل تقع بين نماذج Eloquent وردود JSON المعادة فعليًّا إلى مستخدمي تطبيقك. تمكّنك الموارد في Laravel من تحويل النماذج بشكل فعال وسهل، بما يتضمن مجموعات النماذج. توليد الموارد لتوليد صنف مورد، يمكنك استخدام أمر artisan make:resource. افتراضيًّا، تقع الموارد في المجلد app/Http/Resources الخاص بتطبيقك. ترث الموارد من الصنف الأساسي Illuminate\Http\Resources\Json\JsonResource: php artisan make:resource User موارد المجموعات إضافةً إلى توليد موارد لتحويل النماذج الأحادية، يمكنك توليد موارد مسؤولة ...

الاستجابات HTTP في Laravel

إنشاء الردود السلاسل النصيّة والمصفوفات يجب على جميع الطرق ووحدات التحكّم رد استجابة لإرسالها مرّة أخرى إلى متصفّح المستخدم. يوفر Laravel عدة طرق مختلفة لإرجاع الردود. أكثر رد أساسي هو رد سلسلة نصيّة من مسار أو جهاز تحكّم. سيُحوّل إطار العمل السلسلة النصيّة إلى استجابة HTTP كاملة تلقائيًا: Route::get('/', function () { return 'Hello World'; }); يمكنك بالإضافة لرد السلاسل من مساراتك ووحدات تحكّمك رد مصفوفات. سيُحوّل إطار العمل تلقائيًا المصفوفة لاستجابة JSON: Route::get('/', function () { ...

ترقيم الصفحات Pagination في Laravel

مقدمة كثيرًا ما يكون ترقيم الصفحات في الأطر الأخرى متعبًا جدًا. هنا في Laravel، دُمج مُرقّم صفحات Laravel مع منشئ الاستعلامات و رابط الكائنات بالعلاقات Eloquent، وهو يوفّر ترقيم صفحات لنتائج قواعد البيانات سهل الاستخدام فورًا. يتوافق HTML المُنشئ بواسطة مُرقّم الصفحات مع إطار عمل Bootstrap CSS. الاستخدام الأساسي ترقيم نتائج صفحات منشئ الاستعلام هناك عدّة طرق لترقيم العناصر. أبسطها باستخدام التابع paginate على منشئ الاستعلامات أو Eloquent الاستعلامات. يهتم التابع paginate تلقائيًا بإعداد الحد و والإزاحة (offset) المناسبة استنادًا ...

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

(PHP 4, PHP 5, PHP 7) تُعطي الدالة unserialize()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ قيمة بلغة PHP انطلاقًا من تمثيل مُخزَّن. الوصف mixed unserialize ( string $str [, array $options ] ) تأخذ الدالة unserialize()‎ متغيّرًا متسلسلًا واحدًا وتُحوِّله مرّة أخرى إلى قيمة PHP. تحذير: لا تُمرِّر مُدخَلات المستخدم غير الموثوقة إلى الدالة unserialize()‎ بغض النظر عن قيم المُعامِل options للأصناف المسموحة allowed_classes. قد ينتج عن فك التّسلسل تحميل وتنفيذ شيفرة ما وذلك نظرًا لاستنساخ الكائنات والتحميل التلقائي، ويُمكِن للمستخدم الضار استغلال ذلك. استخدم صيغة تبادل ...

التابع ‎‎jQuery.ajaxTransport()‎‎ في jQuery

jQuery.ajaxTransport( dataType, handler )‎ القيم المعادة يعيد قيمةً من النوع undefined. الوصف ينشئ هذا التابع كائنًا يعالج عملية الإرسال الفعلي لبيانات Ajax. jQuery.ajaxTransport( dataType, handler )‎ أُضيف مع الإصدار: 1.5. dataTypes سلسلة نصية تحدِّد نوع البيانات المراد استعمال هذا التابع معها. handler دالةٌ من الشكل Function( Object options, Object originalOptions, jqXHR jqXHR )‎ تعيد الكائن transport الجديد لاستعماله مع نوع البيانات المحدَّد في الوسيط الأول. الكائن transport هو كائنٌ يوفر تابعين اثنين هما: التابع send، والتابع abort اللذان تستعملهما الدالة ...

التابع ‎‎jQuery.ajaxTransport()‎‎ في jQuery

jQuery.ajaxTransport( dataType, handler )‎ القيم المعادة يعيد قيمةً من النوع undefined. الوصف ينشئ هذا التابع كائنًا يعالج عملية الإرسال الفعلي لبيانات Ajax. jQuery.ajaxTransport( dataType, handler )‎ أُضيف مع الإصدار: 1.5. dataTypes سلسلة نصية تحدِّد نوع البيانات المراد استعمال هذا التابع معها. handler دالةٌ من الشكل Function( Object options, Object originalOptions, jqXHR jqXHR )‎ تعيد الكائن transport الجديد لاستعماله مع نوع البيانات المحدَّد في الوسيط الأول. الكائن transport هو كائنٌ يوفر تابعين اثنين هما: التابع send، والتابع abort اللذان تستعملهما الدالة ...

التابع ‎‎$.ajaxPrefilter()‎‎ في jQuery

jQuery.ajaxPrefilter( [dataTypes ], handler )‎ القيم المعادة يعيد قيمةً غير مُعرَّفة (undefined). الوصف يعالج هذا التابع إعدادات Ajax المخصَّصة أو يعدِّل إعدادات موجودة قبل أن يرسل كل طلب وقبل أن يعالج باستعمال الدالة ‎$.ajax()‎. jQuery.ajaxPrefilter( [dataTypes ], handler )‎ أُضيف مع الإصدار: 1.5. dataTypes سلسلة نصية اختياريَّة تحتوي على نوع بيانات (dataType) واحد أو عدَّة أنواع مفصولة بفراغ. handler دالة من الشكل Function( Object options, Object originalOptions, jqXHR jqXHR )‎ وتستعمل لتعيين قيم افتراضيَّة لطلبات Ajax المستقبليَّة. تبدو عملية الترشيح ...

التابع ‎‎$.ajaxPrefilter()‎‎ في jQuery

jQuery.ajaxPrefilter( [dataTypes ], handler )‎ القيم المعادة يعيد قيمةً غير مُعرَّفة (undefined). الوصف يعالج هذا التابع إعدادات Ajax المخصَّصة أو يعدِّل إعدادات موجودة قبل أن يرسل كل طلب وقبل أن يعالج باستعمال الدالة ‎$.ajax()‎. jQuery.ajaxPrefilter( [dataTypes ], handler )‎ أُضيف مع الإصدار: 1.5. dataTypes سلسلة نصية اختياريَّة تحتوي على نوع بيانات (dataType) واحد أو عدَّة أنواع مفصولة بفراغ. handler دالة من الشكل Function( Object options, Object originalOptions, jqXHR jqXHR )‎ وتستعمل لتعيين قيم افتراضيَّة لطلبات Ajax المستقبليَّة. تبدو عملية الترشيح ...

Date.prototype.toJSON()‎

الدالة Date.prototype.toJSON()‎ تعيد تمثيلًا نصيًا للكائن Date. البنية العامة dateObj.toJSON() القيمة المعادة سلسلة نصية تُمثِّل التاريخ المعطي. الوصف استدعاء الدالة toJSON()‎ سيُعيد سلسلةً نصيةً (باستخدام الدالة toISOString()‎) تُمثِّل قيمة الكائن Date. الغرض العام من هذه الدالة هو تحويل كائنات Date لاستخدامها في صيغة JSON. أمثلة مثال استخدام الدالة toJSON()‎: var jsonDate = (new Date()).toJSON(); var backToDate = new Date(jsonDate); console.log(jsonDate); // 2017-12-10T09:00:11.999Z دعم المتصفحات الميزة Chrome Firefox Internet Explorer Opera Safari الدعم الأساسي نعم نعم 9 نعم نعم مصادر ومواصفات مسودة المعيار ...

الدالة ‎‎jQuery.get()‎‎ في jQuery

jQuery.get( url [, data ] [, success ] [, dataType ] )‎ القيم المعادة يعيد كائنًا من النوع jqXHR. الوصف يجلب هذا التابع بياناتٍ من الخادم باستعمال طلب HTTP عبر الطريقة GET. jQuery.get( url [, data ] [, success ] [, dataType ] )‎ أُضيفت مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية ترسل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR ...

التعابير الاصطلاحية (Idioms) في لغة Kotlin

تعرِض هذه الصفحة عددًا من التعابير الاصطلاحيّة المستخدَمة بكثرةٍ في لغة Kotlin، ولأيّ اصطلاحٍ جديدٍ لم يُذكَر فيمكنك تعديل هذه الصفحة لإضافته. إنشاء كائنات نقل البيانات DTO:‏ Data Transfer Objects (الكائنات POJO/POCO) ليكن الصنف (class) الآتي باسم Customer: data class Customer(val name: String, val email: String) وله التوابع الوظيفيّة (functional methods) الآتية: توابع getter (وتوابع setter في حالة المتحولات من النوع var) لكافة الخاصّيّات (properties) equals()‎ hashCode()‎ toString()‎ copy()‎ component1()‎ و component2()‎ ...إلخ. وذلك لكافة الخاصّيّات (properties) في الصنف (راجع أصناف البيانات ...

الدالة ‎‎jQuery.get()‎‎ في jQuery

jQuery.get( url [, data ] [, success ] [, dataType ] )‎ القيم المعادة يعيد كائنًا من النوع jqXHR. الوصف يجلب هذا التابع بياناتٍ من الخادم باستعمال طلب HTTP عبر الطريقة GET. jQuery.get( url [, data ] [, success ] [, dataType ] )‎ أُضيفت مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية ترسل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR ...

الدالة eval()‎ في JavaScript

الدالة eval()‎ تُقدِّر قيمة شيفرة JavaScript المُمثَّلة في سلسلة نصية. البنية العامة eval(string) string سلسلة نصية تُمثِّل أحد التعبيرات أو التعبيرات البرمجية أو سلسلة من التعبيرات البرمجية في JavaScript، ويمكن أن يحتوي التعبير أيضًا على متغيرات وخاصيات لكائنات موجودة مسبقًا. القيمة المعادة ستُعيد الدالة eval()‎ قيمة آخر تعبير قد قُدِّرَت قيمته، وإذا كانت قيمته فارغةً فستُعاد القيمة undefined. الوصف الدالة eval()‎ هي خاصيةٌ للكائن العام (global object)، وتقبل وسيطًا هو سلسلة نصية، وإذا كانت هذه السلسلة النصية تُمثِّل تعبيرًا (expression ...

وحدات ‎ECMAScript في Node.js

الاستقرار: 1-قيد التجريب تحوي Node.js دعمًا لوحدات ES اعتمادًا على Node.js EP من أجل وحدات ES. ليست جميع مزايا EP كاملةً بعد، وستُحضَر كدعمٍ وتنفيذٍ من أجل VM عندما يكون جاهزًا. لا تزال رسائل الخطأ في طور التحسين والتطوير. عملية التفعيل يمكن استعمال الراية ‎--experimental-modules‎ لتفعيل المزايا التي تمكن من تحميل وحدات ESM. متى ما ضُبِط ذلك، يمكن تحميل الملفات التي تنتهي باللاحقة ‎.mjs‎ كوحدات ES. node --experimental-modules my-app.mjs المزايا المزايا المدعومة يمكن أن يكون الوسيط CLI لنقطة الإدخال الرئيسية ...

التابع ‎‎.serializeArray()‎‎ في jQuery

‎.serializeArray()‎ القيم المعادة يعيد مصفوفة من النوع Array. الوصف يُرمِّز هذا التابع مجموعة من عناصر النماذج ويضعها في مصفوفة على شكل أسماء وقيم من أجل إرسالها. ‎.serializeArray()‎ أُضيف مع الإصدار: 1.2. ولا يقبل هذا التابع أية وسائط. ينشئ التابع ‎.serializeArray()‎ مصفوفة من كائناتٍ قابلةٍ لتكون مرمَّزة بصيغة JSON. يمكن تطبيقه على مجموعة jQuery تحتوي على عناصر نموذج <form> و/أو عناصر تحكم بالنموذج (form controls). يمكن أن تكون عناصر التحكم من أنواع مختلفة: <form> <div><input type="text" name="a" value="1" id="a"></div> ...

الدالة pprint.pprint()‎ في بايثون

تطبع الدالة التمثيل المنسّق للكائن المعطى في المخرجات المعطاة، متبوعًا بسطر جديد. البنية العامة pprint.pprint(object, stream=None, indent=1, width=80, depth=None, *, compact=False) المعاملات إن أخذ المعامل stream القيمة None فستستخدم الدالة sys.stdout. يمكن استخدام هذه الدالة في مفسر بايثون التفاعلي عوضًا عن الدالة print()‎ لتفحّص القيم (يمكن كذلك إعادة إسناد print = pprint.pprint لاستخدامها ضمن نطاق معين). تُمرّر المعاملات indent و width و depth و compact إلى الدالة البانية للصنف PrettyPrinter كمعاملات تنسيق. ملاحظة: أضيف المعامل compact في الإصدار 3.4 من ...

الكائن Number في JavaScript

الكائن Number هو كائن مُغلِّف (wrapper object) الذي يسمح لك بالعمل مع القيم العددية، وتُنشَأ كائنات Number باستخدام الدلة البانية Number()‎. البنية العامة new Number(value); value القيمة العددية التي سيحملها الكائن المُنشَأ. الوصف الاستخدامات الأساسية لكائنات Number هي: إذا لم يكن بالإمكان تحول الوسيط المُمرَّر إلى الدالة البانية إلى قيمة رقمية، فستُعاد القيمة NaN. عند استخدام الدالة Number دون المعامل new (أي أنها ليست دالةً بانيةً)، فيمكن أن تُستخدَم لإجراء تحويل بين أنواع القيم. الخاصيات التابعة للدالة البانية Number Number.EPSILON ...

التابع ‎‎jQuery.ajax()‎‎ في jQuery

jQuery.ajax( url [, settings ] )‎ القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف ترسل هذه الدالة طلب ‎(Ajax) HTTP غير متزامن. jQuery.ajax( url [, settings ] )‎ أُضيف مع الإصدار: 1.5. url سلسلة نصية تحتوي على العنوان URL المراد إرسال الطلب إليه. settings كائن مجرَّد (object) يمثِّل مجموعة من الأزواج مفتاح/قيمة التي تضبط طلب Ajax. جميع الإعدادات اختيارية ويمكن تعيين إعدادات افتراضية لأي ضبط باستعمال التابع ‎$.ajaxSetup()‎. انظر إلى القسم التالي للاطلاع على القائمة الكاملة لجميع الإعدادات. jQuery.ajax( [ ...

التابع ‎‎jQuery.ajax()‎‎ في jQuery

jQuery.ajax( url [, settings ] )‎ القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف ترسل هذه الدالة طلب ‎(Ajax) HTTP غير متزامن. jQuery.ajax( url [, settings ] )‎ أُضيف مع الإصدار: 1.5. url سلسلة نصية تحتوي على العنوان URL المراد إرسال الطلب إليه. settings كائن مجرَّد (object) يمثِّل مجموعة من الأزواج مفتاح/قيمة التي تضبط طلب Ajax. جميع الإعدادات اختيارية ويمكن تعيين إعدادات افتراضية لأي ضبط باستعمال التابع ‎$.ajaxSetup()‎. انظر إلى القسم التالي للاطلاع على القائمة الكاملة لجميع الإعدادات. jQuery.ajax( [ ...

نظرة خاطفة على وحدة التحكم في ريلز

ستتعرف في هذا الدليل على كيفية عمل وحدات التحكم (Controller) وكيفية ملاءمتها مع دورة الطلب (request cycle) في التطبيق الخاص بك. بعد قراءة هذا الدليل، ستتعلم: كيفية اتباع تدفق الطلب من خلال وحدة تحكم. كيفية تقييد المعاملات التي مُرّرت إلى وحدة التحكم الخاصة بك. كيف ولماذا تخزَّن البيانات في الجلسة (session) أو ملفات تعريف الارتباط (cookies). كيفية العمل مع المرشحات (filters) لتنفيذ التعليمات البرمجية أثناء معالجة الطلب. كيفية استخدام استيثاق HTTP المضمن في وحدة التحكم. كيفية تدفق البيانات مباشرة إلى ...

الطلبات HTTP في Laravel

الوصول إلى الطلب عليك التلميح إلى نوع الصنف Illuminate\Http\Request في وحدة تحكمّك للحصول على نسخة الطلب HTTP الحالي عبر إضافة الاعتماديّة. ستُضاف نسخة الطلب الوارد تلقائيًّا بواسطة حاوي الخدمات: <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { /** * خزّن مستخدمًا جديدًا * * @param Request $request * @return Response */ public function store(Request ...

منشئ الاستعلامات في Laravel

مقدمة يوفّر منشئ استعلامات قاعدة بيانات Laravel واجهة ملائمة وسلسة لإنشاء وإدارة استعلامات قاعدة البيانات. يمكن استخدامه لتنفيذ معظم عمليات قاعدة البيانات بتطبيقك كما أنه يعمل على جميع أنظمة قواعد البيانات المدعومة. يستخدم منشئ استعلامات Laravel ارتباط المعاملة PDO لحماية تطبيقك من هجمات حقن SQL. لا حاجة لتنظيف السلاسل النصيّة التي تُمرّر كارتباطات. استرداد النتائج استرداد جميع الصفوف من الجدول تستطيع استخدام التابع table على الواجهة الساكنة DB لبدء استعلام. يرد التابع table نسخة منشئ استعلامات فصيحة (fluent) للجدول المحدد، ...

تخطيط الصفحات والتصيير في ريلز

يغطي هذا الدليل ميزات التخطيط الأساسية لوحدتي التحكم والعرض. بعد قراءة هذا الدليل، ستتعلم: كيفية استخدام توابع التصيير المختلفة المضمنة ‎في ريلز. كيفية إنشاء تخطيطات (layouts) تحتوي على أقسام محتوى متعددة. كيفية استخدام الأجزاء مع واجهات العرض. كيفية استخدام تخطيطات متداخلة (قوالب فرعية). نظرة عامة: كيف تتراكب قطع الأحجية معًا يركز هذا الدليل على التفاعل بين المتحكم والعرض في نمط التصميم Model-View-Controller. كما تعلم، فإنَّ المتحكم مسؤول عن تنظيم العملية الكاملة للتعامل مع الطلب في ريلز، على الرغم من أنه ...

الدالة ‎‎jQuery.post()‎‎ في jQuery

jQuery.post( url [, data ] [, success ] [, dataType ] )‎ القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف تجلب هذه الدالة بياناتٍ من الخادم باستعمال طلب HTTP عبر الطريقة POST. jQuery.post( url [, data ] [, success ] [, dataType ] )‎ أُضيف مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية ترسل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR ...

الدالة ‎‎jQuery.post()‎‎ في jQuery

jQuery.post( url [, data ] [, success ] [, dataType ] )‎ القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف تجلب هذه الدالة بياناتٍ من الخادم باستعمال طلب HTTP عبر الطريقة POST. jQuery.post( url [, data ] [, success ] [, dataType ] )‎ أُضيف مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية ترسل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR ...

Kotlin/Native

ما هي تقنية Kotlin/Native؟ تُستخدَم تقنية Kotlin/Native لترجمة شيفرات Kotlin إلى الصيغة الثنائيّة الأساسيّة (native binaries) والتي لا تتطلَّب آلةً افتراضيّة (virtual machine) لتشغيلها، وتشمل كلًا من المعالجات الخلفيّة (أو السند الخلفي [backend]) المعتمدة على تقنيات مكتبة LLVM للمترجِم (compiler) وكذلك تعريف الاستخدام الأساسيّ (native implementation) من مكتبة التشغيل (runtime) في Kotlin، وقد صُمّمت هذه التقنية للسماح بالترجمة في منصّات العمل التي تكون فيها الآلات الافتراضيّة غير متاحةٍ أو مرغوبةٍ (مثل أنظمة iOS والأهداف المدمجة [embedded targets])، أو عندما يحتاج ...

التابع deferred.pipe()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery

deferred.pipe( [doneFilter ] [, failFilter ] )‎ أُهمِلَت مع الإصدار: 1.8. القيمة المعادة يُعيد كائنًا من النوع Promise. الوصف تابع أداة يُستخدم لترشيح و/أو تقييد الكائنات المؤجلة Deferreds. deferred.pipe ([doneFilter] [، failFilter])‎ أُضيف مع الإصدار: 1.6. doneFilter هو دالة اختيارية تُستدعى عند حل الكائن المؤجل Deferred وهو على الشكل Function()‎. failFilter هو دالة اختيارية تُستدعى عند رفض الكائن المؤجل Deferred وهو على الشكل Function()‎. أُضيف مع الإصدار: 1.7. deferred.pipe ([doneFilter] [، failFilter] [، progressFilter])‎ doneFilter هو دالة اختيارية تُستدعى عند ...

التابع deferred.pipe()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery

deferred.pipe( [doneFilter ] [, failFilter ] )‎ أُهمِلَت مع الإصدار: 1.8. القيمة المعادة يُعيد كائنًا من النوع Promise. الوصف تابع أداة يُستخدم لترشيح و/أو تقييد الكائنات المؤجلة Deferreds. deferred.pipe ([doneFilter] [، failFilter])‎ أُضيف مع الإصدار: 1.6. doneFilter هو دالة اختيارية تُستدعى عند حل الكائن المؤجل Deferred وهو على الشكل Function()‎. failFilter هو دالة اختيارية تُستدعى عند رفض الكائن المؤجل Deferred وهو على الشكل Function()‎. أُضيف مع الإصدار: 1.7. deferred.pipe ([doneFilter] [، failFilter] [، progressFilter])‎ doneFilter هو دالة اختيارية تُستدعى عند ...

مقدمة إلى التعامل مع الاختبارات في Laravel

مقدمة بُني Laravel آخذًا الاختبارات بالحسبان؛ إذ يدعم Laravel الاختبارات باستخدام PHPUnit، ويهيّئ ملف phpunit.xml جاهز للعمل بما يناسب تطبيقك. كما دُعم إطار العمل بتوابع مساعدة لتمهيد الطريق أمام اختبار تطبيقاتك بشكل سلس وسهل. يحتوي المجلد tests الخاص بتطبيقك افتراضيًّا على مجلّدين فرعيين: Feature و Unit. تمكنك اختبارات الوحدة Unit tests من التركيز على جزء صغير ومعزول من الشيفرة الخاصة بك، إذ أنّ معظم اختبارات الوحدة تركّز فقط على تابع واحد؛ بينما تستخدم اختبارات الميزات Feature tests لاختبار جزء كبير ...

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

(PHP 4, PHP 5, PHP 7) تُولِّد الدالة serialize()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ تمثيلًا قابلًا للتخزين لقيمة ما. الوصف string serialize ( mixed $value ) تُولِّد‎‎‎‎‎‎‎‎‎‎ تمثيلًا قابلًا للتخزين لقيمة ما. يُفيد هذا في تخزين وتمرير قيم PHP بدون خسارة نوعها وبنيتها. نستخدم الدالة unserialize()‎ لإرجاع السلسلة النصّيّة المتسلسلة إلى قيمة PHP مرّة أخرى. المعاملات value القيمة المطلوب جعلها متسلسلة، تتعامل الدالة serialize()‎ مع كافة الأنواع عدا الموارد، بإمكاننا حتى أن نستخدم serialize()‎ على مصفوفات تحتوي على مراجع تُشير إلى هذه المصفوفة. تُخزَّن المراجع الموجودة ...

التابع deferred.then()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎deferred.then( doneFilter [, failFilter ] [, progressFilter ] )‎ القيمة المعادة يُعيد كائنًا من النوع Promise. الوصف يُضيف هذا التابع معالجات تُستدعَى عند قبول الكائن المؤجل أو رفضه أو ما زال قيد التقدم. deferred.then( doneFilter [, failFilter ] [, progressFilter ] )‎ أُضيف مع الإصدار: 1.8. doneFilter هو دالة تُستدعى عند قبول الكائن المؤجل وهو على الشكل Function()‎‎. failFilter هو دالة اختيارية تُستدعى عند رفض الكائن المؤجل وهو على الشكل Function()‎‎. progressFilter هو دالة إختيارية تُستدعى عند إرسال إشعارات التقدُّم ...

التابع deferred.then()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎deferred.then( doneFilter [, failFilter ] [, progressFilter ] )‎ القيمة المعادة يُعيد كائنًا من النوع Promise. الوصف يُضيف هذا التابع معالجات تُستدعَى عند قبول الكائن المؤجل أو رفضه أو ما زال قيد التقدم. deferred.then( doneFilter [, failFilter ] [, progressFilter ] )‎ أُضيف مع الإصدار: 1.8. doneFilter هو دالة تُستدعى عند قبول الكائن المؤجل وهو على الشكل Function()‎‎. failFilter هو دالة اختيارية تُستدعى عند رفض الكائن المؤجل وهو على الشكل Function()‎‎. progressFilter هو دالة إختيارية تُستدعى عند إرسال إشعارات التقدُّم ...

تنقيح تطبيقات ريلز

يقدّم هذا الدليل التقنيات اللازمة لتنقيح تطبيقات ريلز. بعد قراءة هذا الدليل، ستتعلّم: الغرض من التنقيح. كيفة تتبّع العلل والأخطاء التي لا تتعرّف عليها الاختبارات في تطبيقك. طرقًا مختلفة للتنقيح. كيفيّة تحليل أثر المكدس. مساعدي العرض للتنقيح احدى المهام الشائعة في التنقيح هي فحص محتويات متغيّر معيّن، لذا يوفر ريلز ثلاثة طرائق لفعل ذلك: Debug To_yaml Inspect debug سيعيد المساعد debug الوسم <pre> الذي يصدّر الكائن باستخدام تنسيق YAML، وسيؤدي هذا إلى توليد بيانات يمكن للإنسان قراءتها من أي كائن. ...

الوحدة pickle في بايثون

تطبّق وحدة pickle بروتوكولات ثنائية لغرض سَلسلَة وإلغاء سَلسَلَة بنية كائنات بايثون. تطلق تسمية Pickling على العملية التي يتحوّل فيها تسلسل هرمي لكائن بايثون إلى تدفق بايتات byte stream، وتطلق تسمية Unpickling على العملية العكسية والتي يتحوّل فيها تدفّق بايتات (من ملف ثنائي أو كائن شبيه بالبايتات) إلى تسلسل هرمي لكائن بايثون. تحمل هاتان العمليتان (Pickling و Unpickling) أسماءً أخرى مثل السَلسَلَة "serialization"، والترتيب "marshalling" (ليس المقصود هنا وحدة marshal) والتسطيح "falttening". سنستخدم مصطلحي السلسلة وإلغاء السلسلة في هذا التوثيق ...

العمل مع JavaScript في ريلز

يغطي هذا الدليل وظيفة Ajax/JavaScript المضمّنة في ريلز (والمزيد)؛ وسوف يمكنك من إنشاء تطبيقات Ajax غنية وديناميكية بكل سهولة! ستتعلم بعد قراءة هذا الدليل: أساسيات Ajax. جافاسكربت الواضحة (Unobtrusive JavaScript). كيف يساعدك مساعدو ريلز المدمجون (built-in helpers). كيفية التعامل مع Ajax من طرف الخادم. الجوهرة Turbolinks. مقدمة لفهم Ajax لفهم أجاكس، يجب أولًا فهم ما يفعله متصفّح الويب بشكل طبيعي. عندما تكتب http://localhost:3000 في شريط عنوان المتصفّح وتضغط على "Go" ، يقدّم المتصفح ("العميل") طلبًا للخادم، ويفرز الاستجابة ثم يجلب ...

Python/Topics

بنية اللغة بيان للبنية العامة للغة بايثون وبعض الأمور العامة مثل التعليقات وتسمية المعرّفات وغيرها. مفسر بايثون يستخدم مفسر بايثون لمعالجة الشيفرات المكتوبة بها، وهو يقبل عددًا من الخيارات، ويمكن تشغيله في الوضع التفاعلي. أنواع البيانات القيمة المنطقية (boolean) القيمتان المنطقيتان اللتان تدعمهما بايثون هما True و False وهما كائنان ثابتان (Constant objects) يعبران عن صحّة تعبير ما، فإمّا أن يكون صحيحًا True أو خطأً False. الأعداد الصحيحة (int) العدد الصحيح integer هو أي عدد موجب أو سالب لا يتضمن ...

المكتبة Active Model في ريلز

يوفر Active Model مجموعة معروفة من الواجهات لاستعمالها في أصناف النماذج (model classes). إنها تسمح لمساعدي Action Pack بالتفاعل مع النماذج التي ليست من Active Record مثلًا. يساعد Active Model في بناء روابط ORM مخصصة (تقنية ربط الكائنات بالعلاقات) للاستعمال خارج إطار ريلز. يمكنك قراءة المزيد حول Active Model في دليل أساسيات Active Model. قبل الإصدار 3.0 من ريلز، إن رغبت جوهرة أو رغب مطور بامتلاك كائن يتفاعل مع مساعدي Action Pack، فإنه يتطلب إمَّا نسخ أجزاء من شيفرة ريلز، ...

قوالب Blade في Laravel

مقدمة يقدم Laravel محرّك قولبةٍ بسيطاً لكن قويٌّ و فعّال هو Blade. على خلاف محرّكات PHP أخرى، لا يمنع Blade المستخدم من استعمال شيفرات PHP في الواجهة، بل إنّه يحوِِّل صفحات Blade إلى شيفرة PHP ويخزِّنها تخزينًا مؤقتًا إلى حين تغييرها. ممّا يعني أنّ Blade لا يتطلب أيّ جهد أو وقت إضافي من التطبيق. تنتهي صفحات Blade بالامتداد blade.php. وتوجد عادة في مجلد resources/views. توريث القوالب تعريف التخطيط إنّ من الفوائد الأساسية لاستخدام Blade هي توريث القوالب (template inheritance) واستخدام ...

قوالب Blade في Laravel

مقدمة يقدم Laravel محرّك قولبةٍ بسيطاً لكن قويٌّ و فعّال هو Blade. على خلاف محرّكات PHP أخرى، لا يمنع Blade المستخدم من استعمال شيفرات PHP في الواجهة، بل إنّه يحوِِّل صفحات Blade إلى شيفرة PHP ويخزِّنها تخزينًا مؤقتًا إلى حين تغييرها. ممّا يعني أنّ Blade لا يتطلب أيّ جهد أو وقت إضافي من التطبيق. تنتهي صفحات Blade بالامتداد blade.php. وتوجد عادة في مجلد resources/views. توريث القوالب تعريف التخطيط إنّ من الفوائد الأساسية لاستخدام Blade هي توريث القوالب (template inheritance) واستخدام ...

الوحدات (Modules) في Node.js

مؤشر الاستقرار: 2 - مستقر يعامل كل ملف في نظام الوحدات في بيئة Node.js كوحدة منفصلة. على سبيل المثال، فليكن ملف اسمه foo.js: const circle = require('./circle.js'); console.log(`The area of a circle of radius 4 is ${circle.area(4)}`); في السطر الأول، يُحمِّل foo.js الوحدة circle.js الموجودة في نفس المجلد مع foo.js. وإليك محتويات circle.js: const { PI } = Math; exports.area = (r) => PI * r ** 2; exports.circumference = (r) => 2 * PI * r; صدَّرت الوحدة circle.js الدالتين area()‎ و circumference()‎. وتُضاف ...

Array.prototype.filter()‎

الدالة Array.prototype.filter()‎ تُنشِئ مصفوفةً جديدةً فيها جميع العناصر التي حققت دالة الاختبار المُمرَّرة إلى هذه الدالة. var words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present']; const result = words.filter(word => word.length > 6); console.log(result); // ["exuberant", "destruction", "present"] استخدام الدوال السهمية (ES6): const words = ["spray", "limit", "elite", "exuberant", "destruction", "present", "happy"]; let longWords = words.filter(word => word.length > 6); // ["exuberant", "destruction", "present"] البنية العامة var newArray = arr.filter(callback[, thisArg]) callback الدالة التي ستختبر كل عنصر من عناصر المصفوفة وستُعيد true إن أردنا الإبقاء ...

الوحدة Marshal في روبي

تحوّل المكتبة Marshal مجموعات من كائنات روبي إلى مجرى من البايتات (byte stream)، مما يسمح بتخزينها خارج البرنامج النصي النشط حاليًا. يمكن بعد ذلك قراءة تلك البيانات وإعادة إنشاء الكائنات الأصلية أنشئت منها. تحتوي البيانات المرصوفة (Marshaled data) على أرقام الإصدار الرئيسية والثانوية مخزنةً مع معلومات الكائن. في الاستخدام العادي، تُحمّل فقط البيانات التي لها نفس رقم الإصدار الرئيسي، ورقم الإصدار الثانوي المساوي أو الأقل منه. وفي حال ضبط قيمة الراية "verbose" (عادةً باستخادم ‎-d أو ‎-v أو ‎-w أو ...

import

التعبير البرمجي import يُستخدَم لاستيراد ما صُدِّر من وحدة (module) أخرى. لاحظ أنَّ دعم هذه الميزة ما يزال محدودًا، لذا انظر إلى قسم «دعم المتصفحات» قبل استخدامها. البنية العامة import defaultExport from "module-name"; import * as name from "module-name"; import { export } from "module-name"; import { export as alias } from "module-name"; import { export1 , export2 } from "module-name"; import { export1 , export2 as alias2 , [...] } from "module-name"; import defaultExport, { export [ , [...] ] } from "module-name"; import defaultExport, * ...

التابع ‎‎jQuery.param()‎‎ في jQuery

jQuery.param( obj )‎ القيم المعادة يعيد سلسلةً نصيةً (Array). الوصف يرمِّز (serialize) هذا التابع محتويات مصفوفة، أو كائن مجرَّد، أو كائن jQuery ويضعها في سلسلة نصيَّة لتصبح ملائمة لاستعمالها في سلسلة الاستعلام النصية لعنوان URL أو لإرسالها في طلبات Ajax. في حال تمرير كائن jQuery، فيجب أن يحوي هذا الكائن عناصر إدخال <input> لها خاصِّيَّات بالشكل اسم/قيمة. jQuery.param( obj )‎ أُضيف مع الإصدار: 1.2. obj مصفوفة، أو كائن مجرَّد (Object)، أو كائن jQuery التي يراد ترميزها. jQuery.param( obj, traditional )‎ ...

التابع ‎‎jQuery.param()‎‎ في jQuery

jQuery.param( obj )‎ القيم المعادة يعيد سلسلةً نصيةً (Array). الوصف يرمِّز (serialize) هذا التابع محتويات مصفوفة، أو كائن مجرَّد، أو كائن jQuery ويضعها في سلسلة نصيَّة لتصبح ملائمة لاستعمالها في سلسلة الاستعلام النصية لعنوان URL أو لإرسالها في طلبات Ajax. في حال تمرير كائن jQuery، فيجب أن يحوي هذا الكائن عناصر إدخال <input> لها خاصِّيَّات بالشكل اسم/قيمة. jQuery.param( obj )‎ أُضيف مع الإصدار: 1.2. obj مصفوفة، أو كائن مجرَّد (Object)، أو كائن jQuery التي يراد ترميزها. jQuery.param( obj, traditional )‎ ...

أدوات Active Support في ريلز

Active Support هو جزء من نواة ريلز التي توفر ملحقات للغة روبي والأدوات المساعدة وغيرها من الأشياء. أحد الأشياء التي يتضمنها هو واجهة برمجية لأدوات قياس (instrumentation API) يمكن استخدامها داخل تطبيق لقياس إجراءات معينة تحدث داخل شيفرة روبي، مثل تلك الموجودة داخل تطبيق ريلز أو إطار العمل نفسه، إذ لا يقتصر ذلك على ريلز فقط. يمكن استخدامها بشكل مستقل في شيفرات روبي البرمجية الأخرى إذا كان ذلك مطلوبًا. في هذا الدليل، ستتعلم كيفية استخدام الواجهة البرمجية لأدوات القياس (instrumentation API) ...

التوطين في Laravel

مقدمة تُقدِّم خاصيّة التوطين في Laravel طريقةً مريحةً وسهلةً لإعطاء ترجمات للكلمة في عدّة لغات، ممّا يسمح للتطبيق بدعم لغات متعدّدة. تُحفظ سلاسل المحارف الخاصّة بكل لغة يدعمها التطبيق في المجلد resources/lang. يحتوي هذا الملف على مجلدٍ فرعي لكل لغة يدعمها التطبيق: /resources /lang /en messages.php /es ...

التوطين في Laravel

مقدمة تُقدِّم خاصيّة التوطين في Laravel طريقةً مريحةً وسهلةً لإعطاء ترجمات للكلمة في عدّة لغات، ممّا يسمح للتطبيق بدعم لغات متعدّدة. تُحفظ سلاسل المحارف الخاصّة بكل لغة يدعمها التطبيق في المجلد resources/lang. يحتوي هذا الملف على مجلدٍ فرعي لكل لغة يدعمها التطبيق: /resources /lang /en messages.php /es ...

تهجير قاعدة البيانات في Laravel

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

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

(PHP 5 >= 5.5.0, PHP 7) تُعيد الدالة json_last_error_msg()‎ الخطأ النّاتج عن آخر استدعاء للدالة json_encode()‎ أو json_decode()‎ على شكل سلسلة نصّيّة. الوصف string json_last_error_msg ( void ) المعاملات لا تملك هذه الدالة أي مُعامِلات. القيم المعادة تُعيد رسالة الخطأ عند النّجاح، أو "No error" إن لم يحدث أي خطأ، أو FALSE عند الفشل. انظر أيضًا الدالة json_last_error()‎: إعادة آخر خطأ حاصل. مصادر صفحة الدالة json_last_error_msg في توثيق PHP الرسمي.

التابع ‎.data()‎ في jQuery

يخزِّن التابع ‎.data()‎ بيانات عشوائية مرتبطة بالعناصر المتطابقة أو تُعيد القيمة في مخزن البيانات المحدد للعنصر الأول في مجموعة العناصر المتطابقة. ‎.data( key, value )‎ القيمة المعادة يعيد التابع ‎.data()‎ كائنًا من النوع jQuery. الوصف يُخزن بيانات عشوائية مرتبطة بالعناصر المتطابقة. ‎.data( key, value )‎ أُضيفت مع الإصدار: 1.2.3. key سلسلة نصية مُنشَأة من الكائن String تشير إلى جزء من البيانات المراد تعيينه. value قيمة البيانات الجديدة، ويمكن أن تكون من أي نوع من أنواع JavaScript ما عدا القيمة undefined. ...

الإشعارات (Notifications) في Laravel

مقدمة بالإضافة لدعم إرسال البريد الإلكتروني، يوفّر Laravel دعمًا لإرسال إشعارات بين قنوات توصيل عديدة من ضمنها البريد الإكتروني، والرسائل القصيرة (عبر Nexmo)، و Slack. يمكن أيضًا حفظ الإشعارات في قاعدة البيانات لإظهارها في واجهة الويب. تكون الإشعارات في العادة على شكل رسائل قصيرة، وغنية بالمعلومات، تنبّه المستخدم لشيءٍ حدث في التطبيق. مثلًا، إن كنت تكتب تطبيق فواتير، يمكنك إرسال تنبيه "تمّ خلاص الفاتورة" للمستخدم عبر بريد إلكتروني أو رسالة قصيرة. إنشاء الإشعارات في Laravel، يُمثَّل كل تنبيه بصنف (موجودٌ ...

الوحدات في TypeScript

ملاحظة حول المصطلحات تغيّرت طريقة استخدام المصطلحات في النسخة TypeScript 1.5، إذ كانت مجالات الأسماء (namespaces) تُسمّى قديمًا بمصطلح "الوحدات الداخليّة (internal modules)"، وما كان يُسمّى بالوحدات الخارجيّة (External modules) أصبح يُسمّى ببساطة بمصطلح "الوحدات (modules)" وهو ما سنغطّيه في هذه الصفحة. ويجب استخدام الكلمة المفتاحية ‎namespace‎ في الأماكن التي كانت تُستخدَم فيها الكلمة المفتاحية ‎module‎ للتصريح عن وحدة داخليّة في النسخ التي سبقت TypeScript 1.5، أي أنّ عليك استخدام ‎namespace X {‎ عوضًا عن ‎module X {‎ (انظر صفحة ...

التوجيه من الخارج إلى الداخل في ريلز

يغطي هذا الدليل الميزات التي يواجهها المستخدم في عمليات التوجيه في ريلز. بعد قراءة هذا الدليل، ستعرف: كيفية تفسير الشيفرة في config/routes.rb. كيفية بناء المسارات الخاصة بك باستخدام إما أسلوب الحيلة (resourceful style) المفضل أو طريقة المطابقة (match method). كيفية الإعلان عن معاملات المسار الموجه، والتي تمرر إلى إجراءات وحدة التحكم (controller actions). كيفية إنشاء المسارات وعناوين URL تلقائيًا باستخدام مساعدي المسار الموجه. التقنيات المتقدمة مثل إنشاء قيود وتثبيت نقاط نهاية Rack. الغرض من توجيه المسارات في ريلز يتعرف جهاز ...

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

الدالة then()‎ تعيد وعدًا Promise، وتأخذ وسيطين على الأكثر، وهما دالتا رد النداء (callback) لنجاح أو فشل الوعد. var promise1 = new Promise(function(resolve, reject) { resolve('Success!'); }); promise1.then(function(value) { console.log(value); // "Success!" }); ملاحظة: إذا كان أحد أو كلا المعاملين غير موجود، أو كان موجودًا لكنه ليس دالةً، فلن تضع الدالة then()‎ معالجًا له، لكنها لن تولِّد أي أخطاء. إذا أصبحت هنالك حالة للوعد Promise الذي استدعيت الدالة ()then عليه، ولم يكن للدالة ()then وسائط مناسبة، فسيُنشَأ وعدٌ Promise جديد دون ...

تزييف الأحداث لأغراض الاختبار Mocking في Laravel

مقدمة عند اختبار تطبيقات Laravel، قد تحتاج إلى "تقليد الأصل" لبعض جوانب تطبيقك، حتى لا يتم تنفيذها بشكل فعلي في اختباراتك. على سبيل المثال، عند اختبار متحكم ما يقوم بإرسال حدث، قد تحتاج إلى تقليد الأصل لمنصت الأحداث حتى لا تشغّل فعليًا أثناء الاختبار. يساعدك ذلك على اختبار رد المتحكم فقط دون الحاجة للقلق حيال تنفيذ منصتي الأحداث، نظرًا لكونها مستقلة في حالات اختباراتها. يزوّد Laravel بمجموعة من المساعدات لتقليد أصل الأحداث والأعمال ‎(Jobs)‎ والواجهات الساكنة ‎(Facades‎)‎. تزود هذه المساعدات ...

JavaScript/Topics

الكائنات العامة في هذا القسم جميع الكائنات العامة المُضمَّنة في لغة JavaScript، إضافةً إلى جميع الخاصيات والدوال التابعة لها. الخاصيات العامة هذه الخاصيات العامة تُعيد قيمةً بسيطةً، فهي لا تُمثِّل دوالًا أو خاصياتٍ تابعة لأحد الكائنات. Infinity NaN undefined null الدوال العامة هذه الدوال العامة -أي التي تستدعى في النطاق العام بدل استدعائها على كائن بعينه- تُعيد نتائجها إلى التعبير البرمجي الذي استدعاها. eval()‎‎ isFinite()‎ isNaN()‎ parseFloat()‎ parseInt()‎ decodeURI()‎ decodeURIComponent()‎ encodeURI()‎ encodeURIComponent()‎ escape()‎ unescape()‎ الكائنات الأساسية هذه هي الكائنات الأساسية ...

البث (Broadcasting) في Laravel

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

الخاصّيّات المُعمَّمة (Delegated Properties) في لغة Kotlin

 استخدام الخاصّيّات المُعمَّمة تستطيع في لغة Kotlin تعريف استخدام (implement) الخاصّيّات يدويًا مرارًا وتكرارًا بكل مرةٍ تحتاجها، ولكن من الأسهل تعريف استخدامها مرةً واحدةً وتخزين هذا التعريف في المكتبة (library) للاستفادة منه كلما دعت الحاجة، وهذا يشمل: الخاصّيّات الكسولة (Lazy property): تُحسب قيمتها مرةً واحدةً فقط وذلك عند الوصول إليها للمرّة الأولى. الخاصّيّات المُراقَبة (observable property): إذ يُستدعَى مسؤول الانتظار (listener) عند حدوث أي تغييرٍ في الخاصّيّة. تخزين الخاصّيّات في map بدلًا من حقلٍ منفصلٍ لكلِّ منها. وتشمل لغة Kotlin ...

الوحدة HTTP في Node.js

مؤشر الاستقرار: 2 - مستقر لاستخدام خادم وعميل HTTP يجب استدعاء require('http')‎. صُمِمت واجهات HTTP في Node.js لدعم العديد من ميزات البروتوكول التي كانت صعبة الاستخدام تقليديًا. على وجه الخصوص، الرسائل الكبيرة، التي قد تكون مرمّزة كقطع ضخمة. وتكون الواجهة حريصة على عدم تخزين الطلبات أو الاستجابات بأكملها مؤقتًا، بحيث يكون المستخدم قادرًا على دفق البيانات (stream data). تُمثَّل ترويسات رسائل HTTP بواسطة كائن مثل التالي: { 'content-length': '123', 'content-type': 'text/plain', 'connection': 'keep-alive', 'host': 'mysite.com', 'accept': ...

نظرة عامة على وحدة العرض في ريلز

بعد قراءة هذا الدليل، ستعرف: ما هو Action View وكيفية استخدامه مع ريلز. أفضل طريقة لاستخدام القوالب والجزئيات (partials) والتخطيطات. ما الذي يقدمه المساعدون عن طريق Action View. كيفية استخدام العروض المحلية. ما هو Action View؟ في ريلز، تُعَالَج طلبات الويب من خلال Action Controller و Action View. عادةً ما يقع على عاتق وحدة التحكم التواصل مع قاعدة البيانات وتنفيذ الإجراءات CRUD عند الضرورة؛ بعد ذلك، يكون Action View مسؤولًا عن تفسير (compiling) الاستجابة. تُكتَب قوالب Action View باستخدام روبي ...

خيارات المترجم في TypeScript

يوضح الجدول التالي جميع الخيارات التي يمكن استعمالها مع مترجم TypeScript للتحكم بسير عمله والتعديل على سلوكه أثناء ترجمة الشيفرات. الخيار النوع القيمة الافتراضية الوصف ‎--allowJs‎ ‎boolean‎ ‎false‎ السماح بترجمة ملفّات JavaScript. ‎--allowSyntheticDefaultImports‎ ‎boolean‎ ‎module === "system" ‎ أو أنّ الخيار ‎--esModuleInterop‎ مضبوط وقيمة ‎module‎ ليست ‎es2015‎ أو ‎esnext‎ السماح للاستيرادات الافتراضية من الوحدات التي لا تحتوي على تصديرات افتراضيّة. هذا لا يؤثر على الشيفرة المولَّدة، ويؤثر فقط على آلية التحقق من الأنواع. ‎--allowUnreachableCode‎ ‎boolean‎ ‎false‎ لا تُخبِر عن الأخطاء ...

Laravel Scout

مقدمة يوفر Scout حلًا بسيطًا يستند على برنامج تشغيل (Driver) لإضافة البحث عن نص كامل في نماذج Eloquent. باستخدام مراقبي النموذج (model observers)، سيحافظ Scout بشكل تلقائي على مزامنة فهارس البحث مع سجلات Eloquent الخاصة بك. في الوقت الحالي، يأتي Scout مع برنامج التشغيل Algolia، ومع ذلك، فإن كتابة برامج تشغيل مخصصة بسيطة ولديك الحريّة في توسيع Scout مع تطبيقات البحث الخاصة بك. التثبيت ثبت أولًا Scout عن طريق مدير حزم Composer: composer require laravel/scout بعد تثبيت Scout، يجب عليك ...

وحدة الخيوط العاملة (Worker Threads) في Node.js

مؤشر الاستقرار: 1 - تجريبي توفر وحدة worker طريقة لإنشاء بيئات متعددة تعمل علي خيوط مستقلة، ولإنشاء قنوات رسائل بينها. ويمكن الوصول إليها باستخدام الراية ‎--experimental-worker flag بالإضافة إلى: const worker = require('worker_threads'); وتفيد الخيوط العاملة (Workers) في أداء عمليات JavaScript كثيفة الاستخدام لوحدة المعالجة المركزية؛ ويجب ألَّا تستخدم في عمليات الإدخال والإخراج I/O، إذ تتعامل آلياتُ Node.js المدمجة لتنفيذ العمليات بشكل غير متزامن معها بشكل أكثر كفاءة من خيوط Worker. علي عكس العمليات التابعة أو عند استخدام وحدة cluster، يمكن ...

Laravel Scout

مقدمة يوفر Scout حلًا بسيطًا يستند على برنامج تشغيل (Driver) لإضافة البحث عن نص كامل في نماذج Eloquent. باستخدام مراقبي النموذج (model observers)، سيحافظ Scout بشكل تلقائي على مزامنة فهارس البحث مع سجلات Eloquent الخاصة بك. في الوقت الحالي، يأتي Scout مع برنامج التشغيل Algolia، ومع ذلك، فإن كتابة برامج تشغيل مخصصة بسيطة ولديك الحريّة في توسيع Scout مع تطبيقات البحث الخاصة بك. التثبيت ثبت أولًا Scout عن طريق مدير حزم Composer: composer require laravel/scout بعد تثبيت Scout، يجب عليك ...

أساسيات Action Mailer في ريلز

يوفّر لك هذا الدليل كل ما تحتاجه للبدء في إرسال واستقبال رسائل البريد الإلكتروني من وإلى تطبيقك، والعديد من عمليّات Action Mailer الداخليّة. كما يغطي كيفية اختبار مُرسلي بريدك (mailers). ستتعلم بعد قراءة هذا الدليل: كيفيّة إرسال واستقبال البريد الإلكتروني داخل تطبيق ريلز. كيفيّة إنشاء وتعديل صنف Action Mailer والعرض المرتبط به. كيفيّة إعداد Action Mailer لبيئتك. كيفيّة اختبار أصنافك لـ Action Mailer. مقدمة يسمح لك Action Mailer بإرسال رسائل البريد الإلكتروني من تطبيقك باستخدام الأصناف mailer والعروض المرتبطة بها ...

نظرة عامة على Action Cable في ريلز

ستتعرف في هذا الدليل على كيفية عمل Action Cable وكيفية استخدام WebSockets لدمج ميزات الوقت الفعلي في تطبيق ريلز. بعد قراءة هذا الدليل، ستتلعم: ماهية Action Cable وكيفية دمج الواجهة الخلفية والأمامية الخاصة به. كيفية إعداد Action Cable. كيفية إعداد القنوات. النشر وإعداد المعمارية لتشغيل Action Cable. المقدمة يدمج Action Cable مقابس الويب WebSockets مع باقي تطبيق ريلز بسلاسة. يسمح ذلك بكتابة الميزات في الوقت الحقيقي في روبي بنفس الأسلوب والشكل كبقية تطبيقات ريلز، مع الاستمرار في الأداء وقابلية التطوير. ...

الوحدة URL في Node.js

توفر الوحدة url مجموعة من الأدوات لمعالجة وتحليل عناوين الويب (URL). يمكن استيراد الوحدة والبدء باستخدامها عبر تنفيذ: ‎‎const url = require('url'); سلاسل العناوين والكائِن URL سلسلة العنوان (URL String) هي سلسلة نصيّة مُنظمة مؤلَّفة من عدِّة مكوِّنات. يُعاد الكائِن URL، عند تحليل سلسلة العنوان، مقرونًا بخاصيّات تُمثِّل مكوِّنات سلسلة العنوان المُختلفة. توفر الوحدة url واجهتين برمجيّتين للتعامل مع عناوين الويب: واجهة قديمة خاصّة ببيئة Node.js، وأخرى جديدة تُطبِّق معيار WHATWG المُستخدَم في مُتصفحات الويب (سنستخدم عبارة "الواجهة الحديثة" للإشارة ...

الصنف ‎‎‎Buffer‎ في Node.js

الاستقرار: 2-مستقر قبل تعريف نوع الكائن TypedArray، لم يكن لدى JavaScript أيَّة آلية لقراءة وتعديل مجاري البيانات الثنائية (binary data streams). أُنشِئ الصنف Buffer ليكون جزءًا من واجهة Node.js البرمجيَّة من أجل التعامل مع المجاري الثمانيَّة (octet streams) في مجاري TCP، وعمليات أنظمة الملفات، وسياقاتٍ الأخرى. لمَّا أوجد الكائن TypedArray، أصبح الصنف Buffer يُنفِّذ الواجهة البرمجية Uint8Array بطريقة أكثر كفاءةً وملائمةً مع Node.js. النسخ المنشأة من الصنف Buffer مشابهة لمصفوفات الأعداد الصحيحة ولكن متوافقة مع حجم الذاكرة الخام الثابتة والمحجوزة ...

الوحدة Stream

الاستقرار: 2-مستقر المجرى هو واجهة مجرّدة للعمل مع البيانات المتدفقة في Node.js. توفّر الوحدة stream واجهة برمجية (API) أساسية تجعل من السهل بناء كائنات تتعامل مع واجهة المجرى. يوجد العديد من كائنات المجرى التي توفرها Node.js. على سبيل المثال، http.IncomingMessage (طلبيات الخادم HTTP) و process.stdout هما نسخ من الصنف stream. يمكن أن تكون المجاري قابلة للقراءة (readable)، أو قابلة للكتابة (writable)، أو كليهما. كل المجاري هي نسخ من الصنف EventEmitter. يمكن الوصول إلى الوحدة stream باستخدام: const stream = require('stream'); لمَّا ...

طوابير الانتظار (Queues) في Laravel

مقدمة ملاحظة: يوفر Laravel الآن Horizon، لوحة تحكم وضبط للأنظمة المدعومة من طوابير انتظار Redis. تفقد توثيق Horizon لمزيد من المعلومات. توفّر طوابير انتظار Laravel واجهة API موحدة بين مختلف طوابير انتظار البيئة الخلفية مثل Beanstalk أو Amazon SQS أو Redis أو قواعد البيانات العلائقية. تسمح ٌطوابير الانتظار بتأخير إنجاز المهام التي تتطلب الكثير من الوقت مثل إرسال بريد لوقت لاحق. تأخير هذه المهام يسرّع طلبات الويب في التطبيق بشكل كبير. يوجد ملف ضبط طوابير الانتظار في config/queue.php. ستجد في ...

مقدمة إلى رابط الكائنات بالعلاقات Eloquent

مقدمة يزود رابط الكائنات بالعلاقات Eloquent ORM المضمّن في Laravel تنفيذًا بسيطًا من أجل قواعد البيانات التي تتعامل مع الـ ActiveRecord. كل جدول في قاعدة البيانات يقابله نموذج (Model) يُستخدم للتفاعل مع هذا الجدول. تمكّنك النماذج من تنفيذ الاستعلامات على البيانات الموجودة في الجداول، إضافةً إلى إضافة البيانات الجديدة. قبل البدء، تأكد من تهيئة اتصال قاعدة البيانات في الملف config/database.php. للمزيد من المعلومات حول تهيئة قاعدة البيانات، تفقّد التوثيق المناسب. تعريف النماذج للبدء، لننشئ نموذج Eloquent. تتواجد النماذج افتراضيًّا في ...

ضبط تطبيقات ريلز

يغطي هذا الدليل ميزات الضبط والتهيئة المتاحة لتطبيقات ريلز. بعد قراءة هذا الدليل، ستتعلم: كيفية ضبط سلوك تطبيقات ريلز. كيفية إضافة شيفرة مصدريّة إضافية لتنفيذها وقت بدء تشغيل التطبيق. مواقع شيفرة التهيئة والضبط يوفر ريلز أربعة مواضع رئيسيّة لوضع الشيفرة المصدريّة للتهيئة: config/application.rb ملفات الضبط (configuration) الخاصة بالبيئة المهيآت (Initializers) ما بعد المهيآت (After-initializers) تشغيل شيفرة برمجية قبل ريلز في أحيان نادرة، يحتاج تطبيقك لتشغيل بعض الشيفرات البرمجية قبل تحميل ريلز نفسه، ذا ضعها آنذاك قبل استدعاء require 'rails/all'‎ في ...

المجموعات (Collections) في Laravel

 مقدمة يوفر الصنف Illuminate\Support\Collection غلافًا ملائمًا و مساعدًا على العمل مع مصفوفات البيانات. مثلًا، تفقد الشيفرة الموالية إذ سنستعمل المساعد collect لإنشاء نسخة Collection جديدة من المصفوفة، ننفذ الدالة strtoupper مع كل عنصر، ثم نحذف كل العناصر الفارغة: $collection = collect(['taylor', 'abigail', null])->map(function ($name) { return strtoupper($name); }) ->reject(function ($name) { return empty($name); }); كما ترى، تسمح الدالة بسلسلة توابعها لتنفيذِ تخطيطِ دقيق و التحكم في حجم المصفوفة قيد العمل. بشكل عام، المجموعات غير قابلة للتغيير، أي أن كل ...

الواجهة البرمجية للتدويل في ريلز

توفّر جوهرة روبي I18n (اختزالٌ للمصطلح "التدويل" [internationalization]) التي تُشحن مع ريلز (بدءًا من الإصدار 2.2) إطارًا سهل الاستخدام وقابلًا للتوسعة لترجمة تطبيقك إلى لغة مخصصّة واحدة بخلاف الإنجليزية أو لتوفير دعم بلغات متعدّدة في تطبيقك. عادةً ما تعني عمليّة "التدويل" تجريد كل السلاسل النصية والبتات الخاصة الأخرى ذات العلاقة باللغة (مثل تنسيقات التاريخ أو العملة) من تطبيقك. تعني عملية "التوطين" توفير الترجمات والصيغ المحلية لهذه البتات. لذلك، يجب عليك في عمليّة تدويل تطبيقك ريلز: التأكّد من دعمك للواجهة البرمجية ...

الوحدة util‎ في Node.js

صُمِّمَت الوحدة util بشكل أساسي لتلبية احتياجات واجهات Node.js البرمجيّة الداخليّة. هذا لا يمنَع كون الأدوات، التي توفرها الوحدة، مفُيدةً للتطبيقات ولمطوري الوحدات البرمجيّة. يمكنك استيراد الوحدة والبدء باستخدامها عبر تنفيذ: const util = require('util'); util.callbackify(original)‎ أُضيف في الإصدار: v8.2.0. original‎:‏ <Function> دالة async‎ غير متزامنة. القيم المُعادة: <Function> دالةً من نمط دوال رد النداء (callback function). يأخُذ التابِع الدالة async (أو دالة تُعيد كاِئنًا من النوع Promise) ويعيد دالةً تتبع نمط دالة رد النداء «الخطأ أولًا» (error-first callback)، مثل ...

العمليات الأبناء في Node.js

الاستقرار: 2-مستقر توفِّر الوحدة child_process القدرة على توليد (spawn) عمليات أبناء بطريقةٍ مشابهةٍ  -وليست مماثلة- للدالة popen(3)‎، إذ يمكن للدالة child_process.spawn()‎ أن توفِّر هذه الإمكانيَّة في المقام الأول: const { spawn } = require('child_process'); const ls = spawn('ls', ['-lh', '/usr']); ls.stdout.on('data', (data) => { console.log(`stdout: ${data}`); }); ls.stderr.on('data', (data) => { console.log(`stderr: ${data}`); }); ls.on('close', (code) => { console.log(`child process exited with code ${code}`); }); تُنشَأ أنابيبٌ (pipes) لمجرى الدخل القياسي (stdin) ومجرى الخرج القياسي (stdout) ومجرى الخطأ القياسي (stderr) بين العمليَّة الأب في Node.js ...