نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
دوال التعامل مع صيغة 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 في JavaScript
الكائن JSON يحتوي على الدوال التي تُفسِّر صيغة JavaScript Object Notation (اختصارًا JSON) وتحوّل القيم إلى صيغة JSON. ليس الغرض من هذا الكائن هو تهيئته أو بناؤه (عبر المعامل new)، وليس له عملٌ خاصٌ به باستثناء وجود دالتين تابعتين له. الوصف صيغة JSON هي صيغة لتخزين الكائنات والمصفوفات والأعداد والسلاسل النصية والقيم المنطقية والقيمة null؛ وهي مبنية على صيغة JavaScript لكنها تختلف عنها، فبعض شيفرات JavaScript ليست صالحةً في JSON، وبعض شيفرات JSON ليس صالحةً في 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 كما هو مُحدَّد في المعيار ...
الدالة 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_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
مقدمة عند بناء واجهات JSON APIs، تحتاج معظم الأوقات إلى تحويل نماذجك وعلاقاتها إلى مصفوفات أو كائنات JSON. يزود Eloquent بمجموعة من التوابع المساعدة لهذه التحويلات، إضافةً إلى التحكم بالحقول التي يجب تضمينها في التحويلات. سلسلة النماذج والمجموعات السلسلة لمصفوفات لتحويل نموذج وعلاقاته المحمّلة لمصفوفة، يمكنك استخدام التابع toArray. إن هذا التابع تعاودي، لذلك ستُحوّل كل الحقول وكل العلاقات (وعلاقات العلاقات) إلى مصفوفات: $user = App\User::with('roles')->first();
return $user->toArray();
يمكنك أيضًا تحويل مجموعة كاملة من النماذج إلى مصفوفة: $users = App\User::all();
return $users->toArray();
السلسلة ...
الدالة unserialize() في PHP
(PHP 4, PHP 5, PHP 7) تُعطي الدالة unserialize() قيمة بلغة PHP انطلاقًا من تمثيل مُخزَّن. الوصف mixed unserialize ( string $str [, array $options ] )
تأخذ الدالة unserialize() متغيّرًا متسلسلًا واحدًا وتُحوِّله مرّة أخرى إلى قيمة PHP. تحذير: لا تُمرِّر مُدخَلات المستخدم غير الموثوقة إلى الدالة unserialize() بغض النظر عن قيم المُعامِل options للأصناف المسموحة allowed_classes. قد ينتج عن فك التّسلسل تحميل وتنفيذ شيفرة ما وذلك نظرًا لاستنساخ الكائنات والتحميل التلقائي، ويُمكِن للمستخدم الضار استغلال ذلك. استخدم صيغة تبادل ...
المعدلات في رابط الكائنات بالعلاقات Eloquent
مقدمة تمكّنك المعدّلات والموصّلات من تنسيق قيم خاصيّات Eloquent عند استردادها أو تعيينها على كائنات النماذج. مثلًا، يمكنك استخدام مشفّر Laravel لتشفير قيمة ما أثناء تخزينها بقاعدة لًا، ومن ثمّ فك تشفيرها تلقائيًّا عند استردادها من نموذج Eloquent. إضافةً إلى المعدلات والموصلات الافتراضية، يمكّنك Eloquent من التحويل التلقائي للخاصيات الزمنية إلى كائنات من الصنف Carbon أو حتى تحويل الخاصيات النصية إلى كائنات JSON. المعدلات والموصلات تعريف الموصل لتعريف موصل ما، عرف التابع getFooAttribute على صنف نموذجك حيث Foo هو اسم ...
اختبارات 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)، ومحتوى الرد، وبنية ...
حفظ البيانات المهيكلة بصيغة JSON في بايثون
يمكن قراءة وكتابة السلاسل النصية في الملفات بسهولة ويسر، أما الأرقام فتحتاج إلى المزيد من الجهد لأنّ التابع read() يعيد السلاسل النصية فقط والتي يجب تمريرها إلى دالة مثل int() والتي تأخذ سلسلة نصية مثل '123' وتعيد القيمة العددية 123. أما البيانات الأكثر تعقيدًا مثل القوائم أو القواميس المتداخلة فتحتاج إلى عمليات تحليل (parsing) وسَلسَلة (serializing) لا يمكن القيام بها بصورة يدوية. وبدلًا من إجبار المستخدمين على كتابة الشيفرات وتنقيحها بصورة مستمرة لغرض حفظ البيانات المعقّدة في الملفات، تتيح بايثون ...