نتائج البحث

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

استخراج المتغيرات (Extract Variables)

المشكلة وجود تعبيرٍ (expression) معقِّد يصعُب فهمه. الحل وضع ناتج التعبير أو جزءٍ منه في متغيِّرات (variables) واضحةٍ تُسهِّل الفهم. مثال قبل إعادة التصميم نلاحظ وجود تعبيرٍ شرطيٍّ (conditional expression) معقَّدٍ وبعدّة أجزاء كما في الشيفرة الآتية: في لغة Java: void renderBanner() { if ((platform.toUpperCase().indexOf("MAC") > -1) && (browser.toUpperCase().indexOf("IE") > -1) && wasInitialized() && resize > 0 ) { // افعل شيئًا ...

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

(PHP 4, PHP 5, PHP 7) تُعيد الدالة session_get_cookie_params()‎ مُعطيات ملف تعريف الارتباط (cookie) الخاص بالجلسة. الوصف array session_get_cookie_params ( void ) تُعيد الدالة مُعطيات ملف تعريف الارتباط (cookie) الخاص بالجلسة. القيم المعادة تُعيد الدالة مصفوفة تحتوي على معلومات ملف الارتباط الخاص بالجلسة الحالية (session cookie)، وتتكون المصفوفة من الآتي: lifetime: عُمر ملف الارتباط (cookie lifetime) بالثواني. path: مسار تخزين المعلومات. domain: نطاق تخزين ملف الارتباط. secure: الأمان، بحيث لا يتم إرسال معلومات ملف الارتباط إلا عبر اتصال آمن. httponly: لا يمكن الوصول إلى معلومات ...

تجزئة المتغير المؤقت (Split Temporary Variable)

المشكلة وجود متغيِّرٍ محليّ يُستخدَم لتخزين عدّة قيمٍ مؤقتةٍ (مرحليّة) داخل التابع. الحل استخدام متغيِّراتٍ منفصلةٍ ومستقلّةٍ للقيم المختلفة، بحيث يكون كلَُ متغيِّرٍ مسؤولًا عن تخزين البيانات لمهمةٍ واحدةٍ فقط. مثال قبل إعادة التصميم نلاحظ في الشيفرة الآتية استخدام المتغيِّر temp لتخزين ناتج كلِّ من تعبيريّ المحيط والمساحة: في لغة Java: double temp = 2 * (height + width); System.out.println(temp); temp = height * width; System.out.println(temp); في لغة #C: double temp = 2 * (height + width); Console.WriteLine(temp); temp = height * width; Console.WriteLine(temp); في لغة PHP: $temp ...

Python/pathlib/PurePath/is reserved

 التابع PurePath.is_reserved في بايثون يعيد True عند استخدام النكهة PureWindowsPath إذا كان المسار يُعتبر اسمًا مجوزًا في نظام ويندوز. أما عند استخدام النكهة PurePosixPath فالتابع يعيد False دومًا. عند إجراء استعداءات نظام على مسارات محجوزة فإنها قد تفضل بشكل غامض ويمكن أن يكون لها آثار غير متوقعة. البنية العامة >>> PureWindowsPath('nul').is_reserved() True >>> PurePosixPath('nul').is_reserved() False المعاملات بدون معاملات القيمة المعادة يعيد True عند استخدام النكهة PureWindowsPath إذا كان المسار يُعتبر اسمًا مجوزًا في نظام ويندوز. أما عند استخدام النكهة PurePosixPath فالتابع يعيد False ...

المتغيرات من مصادر خارجية في PHP

نماذج HTML‏ (GET و POST) عند إرسال نموذج إلى شيفرة PHP، فإن المعلومات القادمة من ذاك النموذج تصبح متاحةً بصورة تلقائية للشيفرة. وهناك عدد من الطرائق التي يمكن من خلالها الوصول إلى هذه المعلومات. المثال 1: نموذج HTML بسيط <form action="foo.php" method="post"> Name: <input type="text" name="username" /><br /> Email: <input type="text" name="email" /><br /> <input type="submit" name="submit" value="Submit me!" /> </form> منذ الإصدار 5.4.0، أصبح هناك طريقتان للوصول إلى البيانات التابعة ...

المتغيرات من مصادر خارجية في PHP

نماذج HTML‏ (GET و POST) عند إرسال نموذج إلى شيفرة PHP، فإن المعلومات القادمة من ذاك النموذج تصبح متاحةً بصورة تلقائية للشيفرة. وهناك عدد من الطرائق التي يمكن من خلالها الوصول إلى هذه المعلومات. المثال 1: نموذج HTML بسيط <form action="foo.php" method="post"> Name: <input type="text" name="username" /><br /> Email: <input type="text" name="email" /><br /> <input type="submit" name="submit" value="Submit me!" /> </form> منذ الإصدار 5.4.0، أصبح هناك طريقتان للوصول إلى البيانات التابعة ...

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

(PHP 4, PHP 5, PHP 7) تعيد الدالة get_browser()‎ الميزات التي يدعمها متصفح المستخدم. الوصف mixed get_browser ([ string $user_agent [, bool $return_array = FALSE ]] ) تحاول هذه الدالة تحديد الميزات التي يدعمها متصفح المستخدم من خلال البحث عن معلومات المتصفح في ملف browscap.ini. المعاملات user_agent متصفح المستخدم المراد تحليله. افتراضيًا، تستخدم قيمة ترويسة User-Agent في HTTP لكن يمكنك تمرير قيمة إلى هذا المعامل للبحث عن معلومات متصفحٍ آخر على سبيل المثال. يمكنك تجاوز هذا المعامل بضبط قيمته إلى القيمة ...

الدوال المتغيّرة في PHP

تدعم PHP مفهوم الدوال المتغيّرة والذي يعني أنّه في حال إلحاق قوسين إلى نهاية اسم أحد المتغيّرات، فإنّ اللغة ستبحث عن دالة تحمل الاسم ذاته، وستحاول تنفيذها. يمكن الاستفادة من هذه الميزة في الاستدعاءات الخلفية callbacks، وجداول الدوال وما إلى ذلك. لا تعمل الدوال المتغيرة مع البنى التابعة للغة مثل echo و print و unset()‎ و isset()‎ و empty()‎ و include و require وما شابهها، ولاستخدام أيّ من هذه الدوال كدوال متغيرة يمكن الاستعانة بدوالّ تغليف. المثال 1: مثال على ...

الدوال المتغيّرة في PHP

تدعم PHP مفهوم الدوال المتغيّرة والذي يعني أنّه في حال إلحاق قوسين إلى نهاية اسم أحد المتغيّرات، فإنّ اللغة ستبحث عن دالة تحمل الاسم ذاته، وستحاول تنفيذها. يمكن الاستفادة من هذه الميزة في الاستدعاءات الخلفية callbacks، وجداول الدوال وما إلى ذلك. لا تعمل الدوال المتغيرة مع البنى التابعة للغة مثل echo و print و unset()‎ و isset()‎ و empty()‎ و include و require وما شابهها، ولاستخدام أيّ من هذه الدوال كدوال متغيرة يمكن الاستعانة بدوالّ تغليف. المثال 1: مثال على ...

الطلبات 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 ...

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

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

قد تحتاج في بعض الأحيان إلى استخدام أسماء متغيّرة للمتغيرات، بمعنى أن تعيين اسم المتغيّر واستخدامه يكون بصورة ديناميكية. لتعريف المتغيرات العادية نستخدم الصيغة التالية: <?php $a = 'hello'; ?> أما المتغيّر المتغير (variable variable) فيأخذ قيمة متغيّر معين ويستخدمه كاسم لمتغير آخر. في المثال السابق يمكن استخدام الكلمة hello كاسم لمتغير آخر وذلك باستخدام علامتي $ عند التعبير عن المتغير: <?php $$a = 'world'; ?> في هذه النقطة هناك متغيّران معرّفان ومخزنان في شجرة رموز PHP (أي PHP symbol tree): الأول هو ‎$a ...

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

قد تحتاج في بعض الأحيان إلى استخدام أسماء متغيّرة للمتغيرات، بمعنى أن تعيين اسم المتغيّر واستخدامه يكون بصورة ديناميكية. لتعريف المتغيرات العادية نستخدم الصيغة التالية: <?php $a = 'hello'; ?> أما المتغيّر المتغير (variable variable) فيأخذ قيمة متغيّر معين ويستخدمه كاسم لمتغير آخر. في المثال السابق يمكن استخدام الكلمة hello كاسم لمتغير آخر وذلك باستخدام علامتي $ عند التعبير عن المتغير: <?php $$a = 'world'; ?> في هذه النقطة هناك متغيّران معرّفان ومخزنان في شجرة رموز PHP (أي PHP symbol tree): الأول هو ‎$a ...

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

(PHP 4, PHP 5, PHP 7) تُعيد الدالة session_id()‎ أو تَضبط المعرف الحالي للجلسة. الوصف string session_id ([ string $id ] ) تُعيد الدالة session_id()‎ أو تضبط المعرف الحالي للجلسة. يُمكن استعمال المعرف الثابت للجلسة (constant SID)  لاسترجاع اسم الجلسة ومعرفها في متغير نصي مناسب للإضافة على الروابط (URLs). المعاملات   id إذا حُدد المعامل  id، سيُبدَّل المعرف الحالي للجلسة إليه، ويجب في هذه الحالة استخدام الدالة session_id()‎ قَبل الدالة session_start()‎. بالنسبة للحروف المسموح بِها في التسمية فهي مِن a حتى z ومِن A حتى Z، ومِن ...

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

(PHP 4, PHP 5, PHP 7) تعيد الدالة session_name()‎ أو تضبط اسم الجلسة الحالية. الوصف string session_name ([ string $name ] ) تعيد هذه  الدالة اسم الجلسة الحالية، وإذا أُعطيت قيمة للمعامل name سوف تُحدث الدالة اسم الجلسة بهذه القيمة وتعيد اسم الجلسة القديم. عند استعمال اسم جديد للجلسة، فإن دالة session_name()‎ تُعدل ملف تعريف الارتباط الخاص ببروتوكول ‎(http cookie) HTTP‎، لذلك يجب استعمال الدالة session_name()‎ قبل الدالة session_start()‎ لكي تعمل بطريقة صحيحة بدون أخطاء. المعاملات name هذا المعامل مسؤول عن اسم الجلسة المستعمل في ملفات ...

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

(PHP 4, PHP 5, PHP 7) تضيف الدالة addslashes()‎ الخطوط المائلة العكسية (backslashes). الوصف string addslashes (string $str). تُعيد الدالة سلسلةً نصيةً تسبقها خطوط مائلة عكسية (backslashes) قبل المحارف المُراد تهريبها. تتمثل هذه المحارف فيما يلي:   علامات الاقتباس المفردة (') علامات الاقتباس المزدوجة (") الخطوط المائلة العكسية (\) NUL (البايت NUL) تستخدم الدالة addslashes()‎ لتهريب أحد المحارف المذكورة آنفًا داخل كود برمجي بلغة PHP: <?php $str = "O'Reilly?"; eval("echo '" . addslashes($str) . "';"); ?> قبل نسخة 5.4.0  للغة PHP، كانت ميزة magic_quotes_gpc مُفَعلة ...

التعابير في PHP

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

التعابير في PHP

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

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

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

التابع String.reserve()‎ في أردوينو

يحجز التابع reserve()‎ جزءًا من الذاكرة ويخصِّصه للتلاعب بالسلسلة النصية التي استدعيت معه وتعديلها. البنية العامة string.reserve(size) تمثِّل string السلسلة النصية التي سيُحجَز لها جزءٌ من الذاكرة بحجم size. المعاملات size عدد صحيح عديم الإشارة يحدِّد عدد البايتات المراد حجزها من الذاكرة وتخصيصها لعمليات التلاعب بالسلسلة النصية المعطاة والتعديل عليها. القيم المعادة لا يعاد أي شيء. أمثلة مثالٌ على استعمال التابع reserve()‎: String myString; void setup() { // تهيئة منفذ الاتصال التسلسلي وبدئه Serial.begin(9600); while (!Serial) { ...

التابع String.reserve()‎ في أردوينو

يحجز التابع reserve()‎ جزءًا من الذاكرة ويخصِّصه للتلاعب بالسلسلة النصية التي استدعيت معه وتعديلها. البنية العامة string.reserve(size) تمثِّل string السلسلة النصية التي سيُحجَز لها جزءٌ من الذاكرة بحجم size. المعاملات size عدد صحيح عديم الإشارة يحدِّد عدد البايتات المراد حجزها من الذاكرة وتخصيصها لعمليات التلاعب بالسلسلة النصية المعطاة والتعديل عليها. القيم المعادة لا يعاد أي شيء. أمثلة مثالٌ على استعمال التابع reserve()‎: String myString; void setup() { // تهيئة منفذ الاتصال التسلسلي وبدئه Serial.begin(9600); while (!Serial) { ...

الكائنات في PHP

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

الكائنات في PHP

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

المتغيرات المعرفة مسبقًا في PHP

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

المتغيرات المعرفة مسبقًا في PHP

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

الدوال المجهولة في PHP

الدوال المجهولة (anonymous functions) التي تُعرَف أيضًا بالمصطلح (closures) تسمح بإنشاء دالة ليس لها اسم محدد. غالبًا ما تستخدم هذه الدوال للحصول على قيمتها كمعاملات استدعاء (راجع callback) ولها استخدامات أخرى. تطبق اللغة الصنف Closure لاستخدام الدوال المجهولة. المثال 1: الدوال المجهولة <?php echo preg_replace_callback('~-([a-z])~', function ($match) { return strtoupper($match[1]); }, 'hello-world'); // outputs helloWorld ?> يمكن استخدام الدوال المجهولة كقيم للمتغيرات، وتحول اللغة مثل هذه التعبيرات إلى نسخ instances من الصنف الداخلي Closure. يمكن إسناد الدالة المجهولة إلى متغير بنفس ...

الدوال المجهولة في PHP

الدوال المجهولة (anonymous functions) التي تُعرَف أيضًا بالمصطلح (closures) تسمح بإنشاء دالة ليس لها اسم محدد. غالبًا ما تستخدم هذه الدوال للحصول على قيمتها كمعاملات استدعاء (راجع callback) ولها استخدامات أخرى. تطبق اللغة الصنف Closure لاستخدام الدوال المجهولة. المثال 1: الدوال المجهولة <?php echo preg_replace_callback('~-([a-z])~', function ($match) { return strtoupper($match[1]); }, 'hello-world'); // outputs helloWorld ?> يمكن استخدام الدوال المجهولة كقيم للمتغيرات، وتحول اللغة مثل هذه التعبيرات إلى نسخ instances من الصنف الداخلي Closure. يمكن إسناد الدالة المجهولة إلى متغير بنفس ...

الثوابت في بايثون

تقدم بايثون مجموعة من الثوابت، بعضها في مجال الأسماء الداخلي، أما البعض الآخر فيضاف من قبل الوحدة site إلى مفسّر بايثون التفاعلي. ثوابت في مجال الأسماء الداخلي False يمثّل هذا الثابت القيمة الخاطئة للنوع bool. لا تسمح اللغة بإسناد أي قيمة إلى هذا الثابت وستطلق الخطأ SyntaxError عند محاولة القيام بذلك. True يمثّل هذا الثابت القيمة الصحيحة للنوع bool. لا تسمح اللغة بإسناد أي قيمة إلى هذا الثابت وستطلق الخطأ SyntaxError عند محاولة القيام بذلك. None هذا الثابت هو القيمة ...

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

(PHP 4 >= 4.0.4, PHP 5, PHP 7) تتحقّق الدالة is_null()‎‎‎‎‎‎‎‎ إذا ما كانت قيمة المتغيّر هي عَدَم NULL. الوصف bool is_null ( mixed $var ) تتحقّق من أنّ قيمة المتغيّر المُعطى هي NULL. المعاملات var القيمة المطلوب التّحقّق منها. القيم المعادة تُعيد القيمة TRUE إن كان المتغيّر NULL، و FALSE فيما عدا ذلك. أمثلة المثال 1: أمثلة على الدالة is_null()‎ <?php error_reporting(E_ALL); $foo = NULL; var_dump(is_null($inexistent), is_null($foo)); ?> ينتج عن المثال السّابق ما يلي: Notice: Undefined variable: inexistent in ... bool(true) bool(true) انظر أيضًا النّوع NULL. الدالة ...

البنية print‎ في PHP

(PHP 4, PHP 5, PHP 7) تطبع print‎ سلسلةً نصيةً. الوصف int print ( string $arg ) تُخرِج print‎‎ المعامل arg. ليست print في الواقع دالةً حقيقية إنما هي بنيةٌ من بنى اللغة (language construct)، لذلك لا حاجة لاستخدام الأقواس لتمرير الوسائط إليها. الاختلافان الرئيسيّان مع البنية echo هما أنَّ print لا تقبل إلا معاملًا واحدًا وأنها تعيد القيمة 1 دائمًا. المعاملات arg البيانات المدخلة. القيم المعادة تعيد 1 دائمًا. الأمثلة مثال 1: أمثلة على البنية print <?php print("Hello World"); print "print() also ...

اختبارات 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)‎، ومحتوى الرد، وبنية ...

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

(PHP 4, PHP 5, PHP 7) تدمر الدالة session_destroy()‎ جميع البيانات المُسجلة في الجلسة. الوصف bool session_destroy ( void ) تُدمر الدالة جميع البيانات المُصاحبة للجلسة الحالية. ولا تقوم بمسح أيًا مِن المُتغيرات العامة (global variables) أو ملفات تعريف الارتباط للدالة. ولاستخدام المُتغيرات مُجددًا، يجب استخدام الدالة ()session_start. ملاحظة:  لست مضطرًا لاستدعاء الدالة session_destroy()‎ في الكود العادي. نظف المصفوفة ‎$_SESSION بدلًا مِن تدمير بيانات الجلسة. لتدمير الجلسة كلها يجب مسح معرّف الجلسة وإذا كان محفوظًا في ملف تعريف الارتباط، يجب مسحه كذلك، ويُمكن استعمال ...

نطاق المتغيرات في PHP

النطاق (scope) هو السياق الذي تعرّف ضمنه المتغيرات، وفي معظم الحالات تمتلك جميع متغيرات PHP نطاقًا واحدًا فقط، ويمتد هذا النطاق ليشمل الملفات المضمّنة (included) والمطلوبة (required) كذلك. فمثلاً: <?php $a = 1; include 'b.inc'; ?> هنا سيكون المتغير ‎$a متوفّراً ضمن شيفرة b.inc المضمّنة، ولكن يصبح النطاق ضمن الدوال المعرّفة من طرف المستخدم نطاقًا محلّيًا (local scope)، وتكون جميع المتغيرات المستخدمة داخل الدالة محدّدة بصورة تلقائية ضمن النطاق المحلي. مثلًا: <?php // نطاق عام $a = 1; function test() { // ...

نطاق المتغيرات في PHP

النطاق (scope) هو السياق الذي تعرّف ضمنه المتغيرات، وفي معظم الحالات تمتلك جميع متغيرات PHP نطاقًا واحدًا فقط، ويمتد هذا النطاق ليشمل الملفات المضمّنة (included) والمطلوبة (required) كذلك. فمثلاً: <?php $a = 1; include 'b.inc'; ?> هنا سيكون المتغير ‎$a متوفّراً ضمن شيفرة b.inc المضمّنة، ولكن يصبح النطاق ضمن الدوال المعرّفة من طرف المستخدم نطاقًا محلّيًا (local scope)، وتكون جميع المتغيرات المستخدمة داخل الدالة محدّدة بصورة تلقائية ضمن النطاق المحلي. مثلًا: <?php // نطاق عام $a = 1; function test() { // ...

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

(PHP 4 >= 4.3.0, PHP 5, PHP 7) تقرأ الدالة file_get_contents()‎ الملف ثمَّ تضع كلَّ محتوياته في سلسلة نصيَّة. الوصف string file_get_contents ( string $filename [, bool $use_include_path= FALSE [, resource $context [, int $offset = 0 [, int $maxlen ]]]] ) تشبه هذه الدالة إلى حدٍّ كبير الدالة file()‎ باستثناء أنَّها تعيد محتوى الملف في سلسلة نصيَّة. يبدأ ذلك المحتوى عند الموقع offset ويكون بطول maxlen بايت. تعيد هذه الدالة عندما تفشل القيمة FALSE. تعدُّ الدالة file_get_contents()‎ وسيلة مفضَّلة لقراءة ...

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

(PHP 4, PHP 5, PHP 7) تُحدِّد الدالة empty()‎ إذا كان المتغير فارغًا. الوصف bool empty ( mixed $var ) الدالة empty()‎ تتحقق من أنَّ المتغير يُعدّ فارغًا، ويعدّ المتغير فارغًا إذا كان غير موجودٍ أو يساوي القيمة NULL، الدالة empty()‎ لا تولد تحذيرًا إذا لم يكن المتغير معرفًا. المعاملات var المتغير الذي نريد اختبار قيمته إن كان فارغةً أم لا. ملاحظة: سابقاً في PHP 5.5، لم تكن تدعم الدالةempty()‎إلا المتغيرات فقط وتمرير أي شيًء آخر سوف يؤدي إلى خطأ من ...

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

(PHP 4, PHP 5, PHP 7) تُحدِّد الدالة empty()‎ إذا كان المتغير فارغًا. الوصف bool empty ( mixed $var ) الدالة empty()‎ تتحقق من أنَّ المتغير يُعدّ فارغًا، ويعدّ المتغير فارغًا إذا كان غير موجودٍ أو يساوي القيمة NULL، الدالة empty()‎ لا تولد تحذيرًا إذا لم يكن المتغير معرفًا. المعاملات var المتغير الذي نريد اختبار قيمته إن كان فارغةً أم لا. ملاحظة: سابقاً في PHP 5.5، لم تكن تدعم الدالةempty()‎إلا المتغيرات فقط وتمرير أي شيًء آخر سوف يؤدي إلى خطأ من ...

encodeURI()‎

الدالة encodeURI()‎ تُرمِّز روابط URI (اختصار للعبارة Uniform Resource Identifier) بتبديل كل نسخة من محارف معيّنة إلى عبارة مُهرَّبة (escape sequences) أو أكثر والتي تُمثِّل ترميز UTF-8 للمحرف المعني. البنية العامة encodeURI(URI) encodedURI رابط URI كامل. القيمة المعادة سلسلة نصية تُمثِّل النسخة المُرمَّزة من رابط URI. الوصف الدالة encodeURI لا تُرمِّز المحارف التي لها معنى خاص (المحارف المحجوزة [reserved charachters]) في روابط URI، فالمثال الآتي يُظهِر ما الذي يمكن أن يحتويه رابط URI، لاحظ أنَّ بعض المحارف فيه تُستخدَم لإعطاء ...

دوال التعامل مع المتغيرات في PHP

توفِّر هذه الدوال معلوماتٍ إضافيةً عن المتغيرات، راجع صفحة المتغيرات للمزيد من المعلومات عنها. boolval()‎ إعطاء  القيمة المنطقيّة لمتغيّر ما. doubleval()‎ هي اسم بديل (alias) للدالة floatval()‎. floatval()‎ إعطاء قيمة من نوع عدد عشري (float) لمتغيّر ما. get_defined_vars()‎ إعادة مصفوفة تحتوي على كل المتغيّرات المُعرَّفة. get_resource_type()‎ إعادة نوع المورد المُعطى لها. gettype()‎ إعادة نوع المتغيّر. intval()‎ إعادة قيمة من نوع عدد صحيح (integer) لمتغيّر ما. is_array()‎ التّحقّق ما إذا كان المتغيّر مصفوفةً. is_bool()‎ التّحقّق ما إذا كان المتغيّر قيمةً منطقيةً (boolean). is_callable()‎ التّحقّق من القدرة على استدعاء ...

استخراج التوابع (Extract Methods)

المشكلة وجود أجزاء من الشيفرة يُمكن عزلها وتجميعها سويةً. الحل نقل الشيفرة إلى تابعٍ (method) أو دالةٍ (function) جديدة والاستعاضة عن الجزء (بمكانه السابق) باستدعاءٍ لهذا التابع الجديد. مثال قبل إعادة التصميم نلاحظ وجود جزء من الشيفرة لطباعة بعض البيانات (التفاصيل)، والتي يمكن عزلها بتابعٍ جديد، الشيفرة قبل إعادة التصميم بالشكل: في لغة Java: void printOwing() { printBanner(); // طباعة التفاصيل System.out.println("name: " + name); System.out.println("amount: " + getOutstanding()); } في لغة #C: void PrintOwing() { PrintBanner(); ...

إزالة الإسناد إلى المعاملات (Remove Assignments to Parameters)

المشكلة إسناد قيمةٍ ما إلى أحد المعاملات (parameter) داخل التابع (method body). الحل استخدام متغيِّرٍ محليٍّ (local variable) بدلًا من المعامل. مثال قبل إعادة التصميم نلاحظ وجود عمليّة إسنادٍ (من بعد الإنقاص بمقدار 2) إلى معامل التابع الوارد باسم inputVal: في لغة Java: int discount(int inputVal, int quantity) { if (inputVal > 50) { inputVal -= 2; } //... } في لغة #C: int Discount(int inputVal, int quantity) { if (inputVal > 50) ...

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

(PHP 4, PHP 5, PHP 7) تُحدِّد الدالة isset()‎ ما إذا كان المتغير معرفًا وليس NULL. الوصف bool isset ( mixed $var [, mixed $... ] ) إذا ألغي تعريف أحد المتغيرات باستخدام الدالة unset()‎، فسوف يؤدي ذلك إلى إلغاء وجوده كليًا من السكربت، ويمكن استخدام الدالة isset للتحقق من وجود المتغير وستُعاد قيمة false عند فحص المتغير الذي يحمل القيمة NULL ،ونلاحظ أيضاً أن القيمة الحرفية الفارغة ("0\"، التي تسمى null character) لا تكافئ القيمة الثابتة NULL في PHP. ويمكن ...

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

(PHP 4, PHP 5, PHP 7) تُحدِّد الدالة isset()‎ ما إذا كان المتغير معرفًا وليس NULL. الوصف bool isset ( mixed $var [, mixed $... ] ) إذا ألغي تعريف أحد المتغيرات باستخدام الدالة unset()‎، فسوف يؤدي ذلك إلى إلغاء وجوده كليًا من السكربت، ويمكن استخدام الدالة isset للتحقق من وجود المتغير وستُعاد قيمة false عند فحص المتغير الذي يحمل القيمة NULL ،ونلاحظ أيضاً أن القيمة الحرفية الفارغة ("0\"، التي تسمى null character) لا تكافئ القيمة الثابتة NULL في PHP. ويمكن ...

البنية echo في PHP

(PHP 4, PHP 5, PHP 7) تعرض ‎echo سلسلةً نصيةً وحيدة أو عدة سلاسل نصية. الوصف void echo ( string $arg1 [, string $... ] ) تُخرِج echo كل المعاملات، ولا تضيف إليها سطرًا جديدًا بعدها. لا تعدّ echo دالةً بالمعنى الصريح للكلمة إذ تُعد بنيةً من بنى اللُّغة (‎language construct) لذلك فلستَ مجبرًا على إضافة الأقواس لها. على العكس من بنى اللُّغة الأخرى، فإن echo لا تتصرف مثل الدوال لذلك لا يمكن استخدامها في سياق الدوال دائمًا. إذا أردنا استعمال ...

تبديل المتغير المؤقت إلى استدعاء(Replace Temp with Query)

المشكلة تخزين نتيجة تعبيرٍ ما (expression) في متغيِّر محليٍّ (local variable) لاستخدامه لاحقًا في الشيفرة. الحل نقل التعبير بأكمله إلى تابعٍ (method) مستقلٍ يعيد نتيجته، وعندها سيكون استدعاء هذا التابع بديلًا عن استخدام المتغيِّر (variable)، ومن الممكن أيضًا دمج هذا التابع مع توابع أخرى عند الحاجة للقيام بذلك. مثال قبل إعادة التصميم نلاحظ في الشيفرة الآتية وجود متغيِّرٍ مؤقتٍ باسم basePrice لتخزين القيمة الناتجة عن تنفيذ التعبير الرياضيّ بمعامل الجداء (أي المعامل *)، وسيُستخدَم هذا المتغيِّر لاحقًا في الأجزاء الشرطيّة ...

التابع String.trim()‎ في أردوينو

يزيل التابع trim()‎ جميع المسافات البيضاء من بداية ونهاية السلسلة النصية التي استدعيت معه. بدءًا من الإصدار 1.0، أصبح التابع يعدل السلسلة النصية المعطاة نفسها بدلًا من أن يعيد سلسلة نصية أخرى ناتجة عن عملية إزالة المسافات البيضاء من السلسلة النصية الأصلية. وبالتالي، كن حذرًا من استعمال هذه الدالة.  البنية العامة string.trim() تمثِّل string السلسلة النصية التي يراد حذف المسافات البيضاء من بدايتها ونهايتها. القيم المعادة لا يعاد أي شيء. أمثلة مثال على استعمال التابع remove()‎: String stringValue = " ...

التابع String.trim()‎ في أردوينو

يزيل التابع trim()‎ جميع المسافات البيضاء من بداية ونهاية السلسلة النصية التي استدعيت معه. بدءًا من الإصدار 1.0، أصبح التابع يعدل السلسلة النصية المعطاة نفسها بدلًا من أن يعيد سلسلة نصية أخرى ناتجة عن عملية إزالة المسافات البيضاء من السلسلة النصية الأصلية. وبالتالي، كن حذرًا من استعمال هذه الدالة.  البنية العامة string.trim() تمثِّل string السلسلة النصية التي يراد حذف المسافات البيضاء من بدايتها ونهايتها. القيم المعادة لا يعاد أي شيء. أمثلة مثال على استعمال التابع remove()‎: String stringValue = " ...

الواجهات الساكنة (Facades) في Laravel

مقدمة تُوفِّر الواجهات الساكنة واجهة "ساكنة" (static) للأصناف المتوافرة في حاوي خدمات تطبيقك. يأتي Laravel مع عدة واجهات تمكنك من استخدام كل خاصيات Laravel تقريبًا. تمثل واجهات Laravel الساكنة "وسطاء ساكنات" (static proxies) للأصناف الأساسية بحاوي الخدمات مما يوفر كل فوائد الصِّيغ (syntax) المقتضبة والمُعبِّرة مع الحفاظ على قابلية الاختبار ومرونة أكبر من الدالات الساكنة التقليدية. كل واجهات Laravel الساكنة مُعرَّفةٌ في مجال الأسماء Illuminate\Support\Facades. يمكننا الوصول لواجهة ساكنة بهذه الطريقة: use Illuminate\Support\Facades\Cache; Route::get('/cache', function () { return ...

PHP/Topics

الضبط كيفية ضبط لغة PHP عبر مختلف أنواع ملفات الضبط، وطرائق تعديلها. بنية اللغة تبيان أنواع وسوم لغة PHP، وطريقة دمجها مع HTML، وشرح بعض خصائصها البنيوية (ومن بينها التعليقات). أنواع البيانات لا يعيّن المبرمج نوع المتغير عادةً، بل تُعيِّنُه لغة PHP أثناء التنفيذ بالاعتماد على محتوى المتغير المستخدم. القيم المنطقية (boolean) القيم المنطقية (boolean) من أبسط الأنواع، فالتعبير المنطقي يُعبِّر عن صحّة تعبيرٍ ما، فإما أن تكون قيمة التعبير صحيحةً TRUE أو خطأً FALSE. الأعداد الصحيحة (integer) العدد الصحيح هو عدد من ...

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