نتائج البحث

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

الجلسات HTTP في Laravel

مقدّمة توفر الجلسات طريقة لتخزين المعلومات حول المستخدم على عدّة طلبات نظرًا لأن التطبيقات المُعتمدة على HTTP بدون حالة. يأتي Laravel مع مجموعة متنوعة من الخلفيّات (backends) التي يمكن الوصول إليها عبر واجهة برمجية API تعبيرية موحّدة. كما يتضمّن دعم خلفيات شائعة مثل Memcached وRedis وقواعد البيانات خارج الأطر المألوفة. الضبط يُخزّن ملف إعدادات الجلسة في config/session.php. تأكد من مراجعة خياراتك المتاحة في هذا الملف. Laravel مُعد افتراضيًّا لاستخدام برنامج تشغيل (driver) الجلسة file الذي يعمل جيّدًا في العديد من ...

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

(PHP 4, PHP 5, PHP 7) ترمِّز الدالة session_encode()‎ بيانات الجلسة الحالية على هيئة سلسلة نصية مرمَّزة للجلسة. الوصف string session_encode ( void ) تُعيد الدالة session_encode()‎ سلسلةً نصيةً متسلسلةً (serialized string) بالمُحتويات الحالية للجلسة، وتُخزِّنه في المُتغير العام ‎$_SESSION. تُستخدم طريقة داخلية في PHP افتراضيًا لفك التسلسل، وهي تختلف عن الدالة ()unserialize. طريقة التسلسل المُستخدمة تُحدد بواسطة session.serialize_handler. القيم المعادة تُعيد الدالة مُحتويات الجلسة الحالية مُشفرة. تحذير: يجب استخدام دالة ()session_start لبداية الجلسة أو استئناف جلسة مُسبقة قبل استعمال ...

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

(PHP 4, PHP 5, PHP 7) تفك الدالة session_decode()‎ ترميز بيانات الجلسة مِن سلسلة نصية مُرمَّزة للجلسة. الوصف bool session_decode ( string $data ) تفك الدالة session_decode()‎ ترميز بيانات الجلسة المُسلسلة المُتوافرة في المعامل ‎$data وتقوم بنشرها في المُتغير ‎$_SESSION العام (superglobal) مع النتيجة. تُستخدم طريقة داخلية في PHP افتراضيًا لفك التسلسل، وهي تختلف عن الدالة unserialize()‎. طريقة التسلسل المُستخدمة تُحدد بواسطة session.serialize_handler. المعاملات data البيانات المُرمَّزة التي ستُخزَّن. القيم المعادة تُعيد الدالة session_decode()‎ القيمة TRUE في حالة نجاح عملها، أو القيمة FALSE في ...

الدالة 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: لا يمكن الوصول إلى معلومات ...

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

(PHP 4, PHP 4.4, PHP 5, PHP 7) تعيد الدالة ()session_cache_expire القيمة الحالية لزمن انتهاء ذاكرة التخزين المؤقتة. الوصف int session_cache_expire ([ string $new_cache_expire ]) تُعيد الدالة ()session_cache_expire الإعدادات الحالية لصلاحية ذاكرة التخزين المؤقتة. يُعاد ضبط قيمة صلاحية ذاكرة التخزين المؤقتة (cache) للجلسة تلقائيًا للقيمة 180 المُخزنة في خيار الضبط session.cache_expire عند طلب بدء الجلسة. لذلك يجب استدعاء ()session_cache_expire قبل كُل طلب (وقبل إستدعاء الدالة session_start()‎‎).  المعاملات new_cache_expire إذا أُستخدم المعامل new_cache_expire فإن القيمة الحالية لصلاحية ذاكرة التخزين المؤقتة تتغيّر إلى new_cache_expire. لاحظ أن خيار الضبط ...

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

(PHP 4 >= 4.3.2, PHP 5, PHP 7) تُحدث الدالة session_regenerate_id()‎ معرف الجلسة الحالية عن طريق توليد معرف جديد. الوصف bool session_regenerate_id ([ bool $delete_old_session = FALSE ] ) تبدل الدالة session_regenerate_id()‎ معرف الجلسة  الحالية برقم جديد وتُبقي على باقي معلومات الجلسة الحالية. عند تفعيل session.use_trans_sid، يجب أن يبدأ الإخراج بعد استدعاء الدالة()session_regenerate_id، والا سيُستعمل معرف الجلسة القديم. المعاملات delete_old_session سواء قمت بحذف ملف الجلسة المرتبطة أم لا، يجب ألّا تمسح الجلسة القديمة إذا أردت تجنب أو كشف هجمات سرقة الجلسات. القيم المعادة تُعيد الدالة session_regenerate_id()‎ القيمة TRUE ...

البرمجيّات الوسيطة (Middleware) في Laravel

مقدمة تُوفِّر البرمجيّات الوسيطة آلية ملائمة لفرز الطلبات HTTP التي تدخل تطبيقك. على سبيل المثال، يحتوي Laravel على برمجيّّة وسيطة تتحقق إن كان مستخدم تطبيقك مصادقا عليه (authenticated). في حالة لم يكن مصادقا عليه، تعيد البرمجيّة الوسيطة توجيهه لصفحة تسجيل الدخول. في حالة كان مصادقا عليه، ستسمح البرمجيّة للطلب بالمرور لسائر التطبيق. يمكن طبعا كتابة برمجيّات وسيطة للقيام بمهام متنوعة عديدة عدا تسجيل الدخول. قد تكون برمجيّة CORS وسيطة مسؤولة عن إضافة الترويسات (headers) المناسبة لكل الردود التي يرسلها تطبيقك. ...

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

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

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

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

العقود (Contracts) في Laravel

مقدمة عقود Laravel هي مجموعة من الواجهات (interfaces) التي تعرِّف الخدمات المركزية التي يوفرها إطار العمل. على سبيل المثال، يعرِّف العقد Illuminate\Contracts\Queue\Queue  الدوال اللازمة لصف الأعمال في الطوابير، بينما يعرِّف عقد Illuminate\Contracts\Mail \Mailer الدوال اللازمة لإرسال رسائل البريد الإلكتروني. لكل عقد تعريف استخدام (implementation) يوفره إطار العمل. على سبيل المثال، يوفِّر Laravel تعريف استخدام للطابور لعدة أنواع من المشغلات (drivers) كما يوفِّر تعريف استخدام للمُرسِل مشغل بواسطة SwiftMailer. توجد كل عقود Laravel في مستودعات في GitHub. هذا يوفر نقطة مرجعية سريعة لكل ...

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

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

التابع Process.setsid في روبي

يؤسس التابع setsid العملية الحالية على أنَّها جلسة جديدة وقائدة جديدة للمجموعة المالكة للعملية دون التحكم بالطرفية tty. هذا التابع غير متاح على جميع المنصات. البنية العامة setsid → integer القيم المعادة يعاد عدد صحيح يمثِّل مُعرِّف الجلسة الحالية. أمثلة مثال على استعمال التابع setsid: Process.setsid #=> 27422 انظر أيضًا التابع getsid: يعيد مُعرِّف الجلسة (session ID) للعملية الحالية أو عملية محدَّدة. التابع setrlimit: يضبط قيد المورد (resource limit) للعملية.  مصادر قسم التابع setsid في الصنف Process في توثيق روبي ...

التابع Process.ppid في روبي

يعيد التابع ppid معرِّف العملية الأب للعملية الحالية. هذا التابع غير متوافر على جميع المنصات. البنية العامة ppid → integer القيم المعادة يعاد عدد صحيح يمثِّل مُعرِّف العملية الأب للعملية الحالية. ملاحظة: القيمة المعادة على أنظمة Win32/64 غير جديرة بالثقة. أمثلة مثال على استعمال التابع ppid: puts "I am #{Process.pid}" Process.fork { puts "Dad is #{Process.ppid}" } ناتج تنفيذ هذا المثال هو: I am 27417 Dad is 27417 انظر أيضًا التابع getsid: يعيد مُعرِّف الجلسة (session ID) للعملية الحالية أو عملية محدَّدة. التابع pid: ...

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

(PHP 4, PHP 4.4, PHP 5, PHP 7) أصبحت الدالة session_comit()‎ اسمًا بديلًا للدالة session_write_close()‎. الوصف الدالة session_comit()‎ هي اسمٌ بديلٌ للدالة session_write_close()‎. مصادر صفحة الدالة session_commit‎ في توثيق PHP الرسمي.

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

(PHP 4,PHP 4.0.4, PHP 5, PHP 7) تُخزن الدالة ()session_write_close بيانات الجلسة وتنهيها. الوصف bool session_write_close ( void ) تُنهي الدالة الجلسة الحالية ()session_write_close وتُخزن بيانتها. عادةً ما تُخزن بيانات الجلسة تلقائيًا بعد انتهاء تنفيذ الكود دون الحاجة إلى الدالة ()session_write_close، ولكن لأن بيانات الجلسة مٌحكمة لمنع الكتابة المتزامنة حيث يجب تنفيذ سكربت واحد في الجلسة الواحدة وعند استعمالك أكثر من مجموعة إطار (frameset) في وقت واحد في الجلسات، ستواجه تحميل تلك الإطارات واحدًا تلو الآخر. نتيجةً لهذا الإحكام. يُمكنك توفير وقت التحميل عن طريق إنهاء ...

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

(PHP 4, PHP 5.4.0) تُسجل الدالة session_register()‎ مُتغيرًا عامًا واحدًا أو أكثر مع الجلسة الحالية. الوصف bool session_register ( mixed $name [, mixed $... ] ) تقبل الدالة session_register()‎ عددًا مُتغيرًا من المُعاملات التي يُمكن أن تكون سلسلة نصية تحتوي على اسم المتغير أو مصفوفة من أسماء المتغيرات أو المصفوفات الأخرى. تسجل الدالة session_register()‎ لكلّ اسم معامل مُتغيرًا عامًا بنفس الاسم في الجلسة الحالية.  يُمكنك عمل متغير عام جديد عن طريق إعداد عدد منُاسب مِن مصفوفة المُتغير ‎$_SESSION. <?php // لا يُفضل إستعمال هذه الدالة $barney = "A big purple dinosaur."; session_register("barney"); // $_SESSION يُفضل إستعمال المُتغير $_SESSION["zim"] = "An invader from another planet."; ?> في حال عدم استدعاء ...

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

(PHP 5, PHP 5.6.0, PHP 7) تعيد الدالة session_reset()‎ بتهيئة مصفوفة الجلسة بقيمها الأصلية. الوصف bool session_reset ( void ) تعيد الدالة session_reset()‎ تهيئة مصفوفة الجلسة بقيمها الأصلية المُخزنة في ذاكرة الجلسة. تتطلب الدالة جلسة نشطة وإهمال التغيرات في ‎$_SESSION. القيم المعادة تعيد الدالة session_reset()‎ القيمة TRUE في حالة نجاحها، أو القيمة FALSE في حالة فشلها. انظر أيضًا الدالة session_abort()‎: تهمل تغيرات مصفوفة الجلسة وتُنهيها. الدالة session_commit()‎: اسم بديل للدالة  ()session_write_close. مصادر صفحة الدالة session_reset في توثيق PHP الرسمي.

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

(PHP 5, PHP 7) تتجاهل الدالة ()session_abort أي تغيرات حدثت في مصفوفة الجلسة وتُنهي الجلسة. الوصف bool session_abort ( void ) تهمل الدالة التغيرات في الجلسة، مما يعني إنهاءها دون حفظٍ للبيانات والتغيرات، وبناءً عليه فإن القيم الأصلية للبيانات في الجلسة تبقى كما هي. القيم المعادة تُعيد الدالة قيمًا منطقية (Boolean). إذ تعيد القيمة TRUE في حالة نجاحها في إنهاء الجلسة، والقيمة FALSE في حالة فشلها. انظر أيضًا الدالة session_start()‎‎: تبدأ جلسة جديدة، أو تستكمل جلسة موجودة بالفعل. الدالة session_reset()‎‎: تُعيد ...

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

(PHP 4, PHP 5, PHP 7) تعيد الدالة session_module_name()‎ أو تضبط الوحدة البرمجية المستخدمة للجلسة الحالية. الوصف string session_module_name ([ string $module ] ) تعيد  هذه الدالة أو تضبط الوحدة البرمجية المستخدمة للجلسة الحالية. المعاملات   module إذا تَم تحديد قيمة للمعامل، سيُستعمل بدلًا من الوحدة البرمجية المستخدمة للجلسة الحالية. القيم المعادة تُعيد الدالة الوحدة البرمجية المستخدمة للجلسة الحالية. مصادر صفحة الدالة ()session_module_name في توثيق PHP الرسمي.

الدالة 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 هذا المعامل مسؤول عن اسم الجلسة المستعمل في ملفات ...

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

(PHP 4, PHP 5, PHP 5.4.0) تلغي الدالة session_unregister()‎ تسجيل مُتغير عام من الجلسة الحالية. الوصف bool session_unregister ( string $name )  تُلغي الدالة  session_unregister()‎ تسجيل مُتغير عام (اسمه يكون مُطابق لمُعطى الدالة name) في الجلسة الحالية. تحذير: أُهمِلَت  الدالة في الإصدار 5.3.0 مِن PHP وحذفت  في الإصدار 5.4.0 مِن PHP. المعاملات name اسم المُتغير العام. القيم المعادة تُعيد الدالة القيمة TRUE في حالة نجاحها والقيمة FALSE فيما عدا ذلك. ملاحظات لاحظ أنه إذا أُستخدم ‎$_SESSION، تُستعمل الدالة isset()‎ للتأكد من تسجيل المُتغير في ‎$_SESSION. احذر ...

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

(PHP 7, PHP 7.1.0) تجمع الدالة session_gc()‎ البيانات المُهملة garbage data)‎) . الوصف int session_gc ( void ) تجمع الدالة ()session_gc البيانات المُهملة (garbage data) . تعمل PHP على تجميع البيانات المُهملة افتراضيًا طِبقًا لاحتمالات افتراضية على الجلسة. تِلك الإحتمالات تعمل بشكل جيد إلى حد ما ولكن يوجد بعض المشاكل: المواقع ذات مرور المُستخدمين المُنخفض قد لا يُحذف فيها البيانات المُهملة في فترة زمنية مُناسبة. المواقع ذات مرور المستخدمين العادي قد تتكرر بها البيانات المُهملة ولا تُحذف. تُجمع البيانات المُهملة طِبقًا لطلب المُستخدم مِما قد ...

الدالة 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_start()‎ في PHP

(PHP 4, PHP 5, PHP 7) تنشئ  الدالة session_start()‎ جلسة جديدة أو تستكمل جلسة موجودة بالفعل. الوصف bool session_start ([ array $options = array() ]) تنشئ الدالة session_start()‎ جلسة جديدة أو تستكمل الجلسة الحالية بناء على مُعرف الجلسة المُمرر بواسطة الطلبية GET و POST أو عبر ملفات تعريف الارتباط. عند استدعاء الدالة session_start()‎ أو عندما تبدأ الجلسة تلقائيًا، ستستدعي  PHP دوال بدء وقراءة معلومات الجلسة. هذه الدوال ستكون إما دالة مضمَّنة في اللغة (built-in) ، أو بواسطة إضافات PHP (مِثل SQLite أو Memcached); أو يُمكن أن تكون ...

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

(PHP 4, PHP 5, PHP 5.4.0) تتحقق  الدالة session_is_registered()‎ من وجود (أو تسجيل) المتغير العام المُمرر إليها في الجلسة. الوصف bool session_is_registered ( string $name )  تتحقق الدالة session_is_registered()‎ من وجود (أو تسجيل) المتغير العام المُمرر إليها في الجلسة. تحذير: أُهملت  هذه الدالة في الإصدار 5.3.0 مِن PHP وحُذفت في الإصدار 5.4.0 مِن PHP. المعاملات name يُحدد اسم المتغير العام  الذي سيتحقق منه. القيم المعادة تُعيد الدالة ()session_is_registered القيمة TRUE في حالة وجود مُتغير بالاسم المُحدد في معامل الدالة، والقيمة FALSE عدا ذلك. لاحظ أنه إذا ...

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

(PHP 5, PHP 5.4.0, PHP 7) تعيد الدالة session_status‎()‎ حالة الجلسة الحالية. الوصف bool session_status ( void )  تعيد الدالة session_status‎()‎ حالة الجلسة الحالية. القيم المعادة تُعيد الدالة القيم الآتية: في حالة عدم تفعيل الجلسة : PHP_SESSION_DISABLED في حالة تفعيلها وعدم وجود أيًا مِنها : PHP_SESSION_NONE في حالة تفعيلها ووجود إحدى الجلسات : PHP_SESSION_ACTIVE انظر أيضًا الدالة session_start()‎: تبدأ جلسة جديدة أو تستكمل جلسة موجودة. مصادر صفحة الدالة session_status في توثيق PHP الرسمي.

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

(PHP 7, PHP 7.1.0) تنتج الدالة session_create_id()‎ معرّفا جديدًا للجلسة. الوصف string session_create_id ([ string $prefix ]) تُستخدم الدالة ()session_create_id لإنشاء قيمة جديدة للمعرف الفريد للجلسة الحالية، بحيث تعيد معرفًا جديدًا لا يتضارب مع غيره من المعرفات. لن تتحقق الدالة ()session_create_id من وجود تضارب بين المعرفات إذا لم تكن الجلسة نشطةً. المعرف الفريد للجلسة يتم إنتاجه طِبقًا لإعدادات php.ini. من المهم أن يكون سكربت حذف الملفات المؤقتة مشغلًا من نفس حساب مستخدم خادم الويب، وإلا فقد تواجه مشاكل مع الأذونات خصوصًا إذا كانت الجلسات تُحفَظ كملفات. ...

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

(PHP 4, PHP 5, PHP 7) تضبط الدالة session_set_cookie_params()‎ معاملات ملفات تعريف الارتباط للجلسة. الوصف bool session_set_cookie_params ( int $lifetime [, string $path [, string $domain [, bool $secure = FALSE [, bool $httponly = FALSE ]]]] ) تعرّف الدالة session_set_cookie_params()‎ في الملف php.ini. يدوم تأثير هذه الدالة مدة تشغيل الشيفرة (البرنامج) فقط. لذلك يجب استدعاء الدالة session_set_cookie_params()‎ عند كلّ طلب وقبل استدعاء الدالة session_start()‎. تُحدث الدالة قيم ini لوقت التنفيذ  الحالي لمفاتيح التوثيق لملف PHP ini والتي يمكن  استرجاعها باستخدام الدالة ini_get()‎. المعاملات lifetime فترة تشغيل ملفات الارتباط للدالة، تُعرف بالثواني. path المسار في النطاق (domain) الذي سيعمل فيه ملف تعريف ...

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

(PHP 5, PHP 5.4.0, PHP 7) توقف الدالة session_register_shutdown()‎ تشغيل الجلسة. الوصف void session_register_shutdown ( void ) توقف الدالة session_register_shutdown()‎ تشغيل الجلسة. المعاملات لا توجد معاملات. القيم المعادة لا توجد قيم معادة. أخطاء واستثناءات سيُولَّد الخطأ E_WARNING إذا فشل تسجيل إغلاق الجلسة. مصادر صفحة الدالة session_register_shutdown في توثيق PHP الرسمي.

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

(PHP 4, PHP 5, PHP 7) تعيد الدالة session_save_path()‎ أو تضبط مسار حفظ الجلسة الحالية. الوصف string session_save_path ([ string $path ] ) تُعيد الدالة session_reset()‎ أو تضبط مسار حفظ الجلسة الحالية. المعاملات path مسار بيانات الجلسة. إذا تم تحديده ، فسيتم تغيير المسار الذي يتم حفظ البيانات إليه. ولذلك وجب استدعاء الدالة session_save_path‎()‎ قبل استدعاء الدالة session_start‎()‎. في بعض أنظمة التشغيل ، قد ترغب في تحديد مسار على نظام ملفات يتعامل مع الكثير من الملفات الصغيرة بكفاءة. فمثلًا، عند استخدام نظام لينكس، قد يكون من ...

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

PHP 4 >= 4.0.3, PHP 5, PHP 7)‎) تعيد الدالة session_cache_limiter()‎ أو تضبط محدّد ذاكرة التخزين المؤقتة. الوصف string session_cache_limiter ([ string $cache_limiter ] )‎ تعيد الدالة session_cache_limiter()‎ اسم محدّد ذاكرة التخزين المؤقتة الحالية. يحدّد محدّد ذاكرة التخزين المؤقت أيّة ذاكرة تخزين مؤقتة يتم من خلالها إرسال ترويسات HTTP إلى العميل. تحدّد هذه الترويسات القواعد التي قد يتم تخزين محتوى الصفحة بها مؤقتًا بواسطة العميل ووكلاء وسيطة (intermediate proxies). لا يسمح تعيين محدد ذاكرة التخزين المؤقتة إلى nocache بالتخزين المؤقت للعميل. ...

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

(PHP 4, PHP 5, PHP 7) تُزيل الدالة session_unset()‎ جميع مُتغيرات الجلسة. الوصف bool session_unset ( void ) تُزيل الدالة session_unset()‎ جميع مُتغيرات الجلسة المُسجلة حاليًا.   القيم المعادة تُعيد الدالة القيمة TRUE في حالة نجاحها، أو القيمة FALSE في حالة فشلها. ملاحظات إذا أستعمل المُتغير العام ‎$_SESSION، استعمل unset()‎ لإلغاء تسجيل مُتغير الجلسة، مثال: unset($_SESSION['varname'])‎; تحذير: لا تستعمل الدالة ()session_unsetمع المُتغير العام ‎$_SESSION كُله هكذا unset($_SESSION)‎ حيث قد يسبب هذا عدم تفعيل تسجيل مُتغيرات الجلسة مِن خلال المُتغير العام ‎$_SESSION. مصادر صفحة الدالة session_unset‎ في ...

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

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

التابع Process.getsid في روبي

يعيد التابع getsid مُعرِّف الجلسة (session ID) للعملية الحالية أو عملية محدَّدة. هذا التابع غير متوافر على جميع المنصات. البنية العامة getsid() → integer getsid(pid) → integer المعاملات pid مُعرِّف العملية المراد جلب مُعرِّف الجلسة لها. القيم المعادة يعاد عدد صحيح يمثِّل مُعرِّف الجلسة للعملية الحالية أو العملية ذات المُعرِّف pid. أمثلة مثال على استعمال التابع getsid: Process.getsid() #=> 27422 Process.getsid(0) ...

التابع Process.getrlimit في روبي

يجلب التابع getrlimit قيد المورد (resource limit) للعملية. البنية العامة getrlimit(resource) → [cur_limit, max_limit] المعاملات resource يشير إلى نوع المورد المراد معرفة قيوده. يُحدَّد برمزٍ مثل CORE:، أو سلسلة نصية مثل "CORE"، أو ثابت مثل Process::RLIMIT_CORE. اطلع على توثيق التابع setrlimit لمزيد من التفاصيل. القيم المعادة تُعاد مصفوفة من عنصرين: الأول هو cur_limit ويعني القيد الحالي (الرخو [soft]) والثاني هو max_limit ويعني القيد الأعظمي (الصارم [hard]). إنَّ cur_limit و max_limit قد يكونا Process::RLIM_INFINITY، أو Process::RLIM_SAVED_MAX، أو Process::RLIM_SAVED_CUR. اطلع على توثيق التابع ...

التابع Process.getpriority في روبي

يجلب التابع getpriority قيمة أولوية الجدولة (scheduling priority) لعملية محدَّدة أو لمجموعة مالكة أو مستخدم مالك لعملية. كلما كانت الأولوية منخفضة، كان ذلك أنسب لجدولة. هذا التابع غير متوافر على جميع المنصات. البنية العامة getpriority(kind, integer) → integer المعاملات kind يشير إلى نوع الكيان المراد البحث عنه. وهو أحد القيم التالية: Process::PRIO_PGRP، أو Process::PRIO_USER، أو Process::PRIO_PROCESS. integer عدد صحيح يشير إلى عملية محدَّدة، أو مُعرِّف مجموعة أو مستخدم مالك لعملية. القيمة 0 تشير إلى العملية الحالية. القيم المعادة يعاد عدد صحيح ...

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 تتجاهل اللغة ذلك التعبير. يمكن الحصول ...

ريلز مع Rack

يغطي هذا الدليل دمج ريلز مع Rack والتفاعل مع مكونات Rack الأخرى. بعد قراءة هذا الدليل، ستتعلم: كيفية استخدام برمجيات Rack الوسيطة في تطبيقات ريلز الخاصة بك. حزمة البرمجيات الوسيطة الداخلية لـ Action Pack. كيفية تعريف مكدس برنامج وسيط مخصص (custom Middleware stack). تحذير: يفترض هذا الدليل معرفة عملية ببروتوكول Rack وبمفاهيم Rack مثل البرمجيات الوسيطة (middlewares) وخرائط url و Rack::Builder. مقدمة إلى Rack يوفر Rack واجهة دنيا، ومركبة من وحدات، وقابلة للتهيئة لتطوير تطبيقات الويب في روبي. من خلال ...

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

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

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 الرسمي.

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

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

الأخطاء في PHP

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

المراجع في PHP

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

declare في PHP

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

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 ...

الاستثناءات في PHP

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

elseif في PHP

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

return في PHP

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

include في PHP

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

include_once في PHP

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

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; /* يمكن أيضًا كتابة /* ...

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

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

switch في PHP

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

الدوال في PHP

الدوال المعرّفة من طرف المستخدم تتبع أسماء الدوالّ نفس القواعد المتبّعة في اللغة للتسمية. يبدأ الاسم الصحيح للدالة بحرف أو شرطة سفلية، متبوعًا بأيّ عددٍ من الحروف أو الأرقام أو الشرطات السفلية. ويمكن التعبير عن هذه الصيغة باستخدام التعابير النمطية بالصورة التالية: ‎[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*‎. معاملات الدوال يمكن تمرير المعلومات إلى الدوالّ بواسطة قائمة المعاملات argument list، وهي قائمة من التعابير المفصولة بالعلامة (,)، وتُعالج هذه المعاملات من اليسار إلى اليمين. إعادة القيم يمكن إعادة القيم باستخدام عبارة return الاختيارية، ويمكن إعادة أيّ نوع من ...

الثوابت في PHP

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

while في PHP

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

الاستثناءات في PHP

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

include في PHP

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

PHP/misc

هذه مجموعة من الدوال المتفرقة في لغة PHP، والتي لا تنتمي إلى التصنيفات الأخرى الموجودة في هذا التوثيق. connection_aborted()‎ تفحص الدالةconnection_aborted()‎ ‎ ما إذا كان العميل غير متصل. connection_status()‎ تحصل الدالةُ connection_status()‎ على bitfield لحالة الاتصال. constant()‎ تعيدُ الدالة constant()‎ قيمة ثابتٍ ما. ob_end_clean()‎ تنظف (تمسح) الدالة ob_end_clean()‎ المخزنَ المؤقت للإخراج وتوقف التخزين المؤقت للإخراج. ob_clean()‎ تنظف (تمسح) الدالة ob_clean()‎ المخزنَ المؤقت للإخراج. die()‎ تكافئ البنيةُ die البنيةَ exit()‎. eval()‎ تُقدِّر البنيةُ eval()‎ قيمة شيفرة PHP المُمثَّلة في سلسلةٍ نصيةٍ. exit()‎ تُخرج البنية exit()‎ رسالةً وتنهي البرنامج الحالي. get_browser()‎ تعيد الدالة get_browser()‎ الميزات التي يدعمها متصفح المستخدم. ...

while في PHP

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

التعابير في PHP

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

require_once في PHP

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

التعابير في PHP

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

PHP/Topics

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

الموارد في PHP

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

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