مع ظهور PHP7، لم يعد برنامج تشغيل mongodb القديم مدعومًا.
برنامج التشغيل الجديد المتوفر منخفض المستوى بعض الشيء مقارنة بالبرنامج السابق، لذا قد يكون العمل معه معقدًا بعض الشيء.
وهذا هو ما تم تصميم هذه المكتبة من أجله.
!!! للحصول على إرشادات تفصيلية، راجع الويكي على: https://github.com/ThomasSquall/PHP7MongoDriver/wiki
استخدام الملحن بسيط للغاية، فقط قم بتشغيل الأمر التالي:
$ composer require thomas-squall/php7-mongo-driver
قبل استخدام هذه المكتبة، يجب عليك التأكد من تثبيت PHP7.0 أو برنامج التشغيل الرئيسي وMongoDb من pecl.
بالنسبة لأولئك الذين يستخدمون توزيعة Linux (تأكد من تثبيت pecl) فقط قم بتشغيل:
$ sudo pecl install mongodb
بعد ذلك يجب عليك وضع السلسلة التالية
extension=mongodb.so
داخل php.ini الخاص بك
في البداية تحتاج إلى تحديد سلسلة اتصال.
تنسيق سلاسل الاتصال هو:
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
لمزيد من المعلومات راجع الرابط: https://docs.mongodb.com/manual/reference/connection-string/
بمجرد التحديد، ستحتاج إلى إنشاء محول جديد:
use MongoDriver Adapter ;
// Enstablish a connection.
$ adapter = new Adapter ();
$ adapter -> connect ( CONNECTION_STRING );
في هذه المرحلة تريد تحديد قاعدة بيانات حيث يمكنك إجراء استعلامك:
$ adapter -> selectDB ( ' myDatabase ' );
ملاحظة: يمكنك تحديد قاعدة بيانات مباشرة على المنشئ بتمرير اسم قاعدة البيانات كمعلمة ثانية.
بمجرد تحديد قاعدة البيانات يمكننا ببساطة الاستعلام عن المجموعة التي نريدها:
$ items = $ adapter -> find ( ' myCollection ' );
يمكنك أيضًا تصفية استعلامك:
use MongDriver Filter ;
$ filters =
[
new Filter ( ' myField1 ' , ' myValue1 ' , Filter:: IS_EQUALS ),
new Filter ( ' myField2 ' , [ ' myValue2 ' , ' myValue3 ' ], Filters:: IS_IN_ARRAY )
];
$ items = $ adapter -> find ( ' myCollection ' , $ filters );
إذا كنت تريد إدراج عنصر ما عليك ببساطة تمرير مصفوفة أو كائن إلى وظيفة الإدراج التي تحدد المجموعة:
$ item = new Person ();
$ item -> name = ' Thomas ' ;
$ item -> surname = ' Cocchiara ' );
// or: $item = ['name' => 'Thomas', 'surname' => 'Cocchiara'];
$ adapter -> insert ( ' people ' , $ item );
أتمنى أن تجدوا هذه المكتبة مفيدة يا رفاق.
يرجى مشاركتها وتعطيني ردود الفعل :)
توماس