
هذه المقالة التي سنتعلمها هي: كيفية تثبيت وتشغيل قاعدة بيانات Swoft.
هذه المقالة هي واحدة من سلسلة من المقالات في قاعدة بيانات Swoft ORM. دعنا نتعلم عن Swoft!
ما هو Swoft؟
Swoft هو إطار PHOTO microservice عالي الأداء. تم نشره لسنوات عديدة وأصبح الخيار الأفضل لـ php.
يمكن أن يكون مثل Go ، خادم الويب coroutine المدمج والعميل coroutine المشترك ويقيم في الذاكرة ، مستقلة عن PHP-FPM التقليدية.
هناك عمليات مماثلة للغة Go ، مشابهة للشروح المرنة لإطار Spring Cloud.
من خلال ثلاث سنوات من التراكم واستكشاف الاتجاهات ، جعلت Swoft Swoft the Spring Cloud في عالم PHP ، وهو أفضل خيار لإطار PHP عالي الأداء وإدارة الخدمات الصغيرة.
جيثب
تثبيت
هنا نستخدم الملحن لتثبيت مكون ديسيبل
composer require swoft/db
تستند قاعدة بيانات Swoft إلى برنامج تشغيل ملحق PDO ، يرجى التأكد من وجود ملحقات mysqld و PDO.
التكوين
يتم وضع تكوين قاعدة البيانات في ملف app\bean.php
، ويمكنك أن تفكر في الديسيبل app\bean.php
ككائن bean
.
return [ 'db' => [ 'class' => Database::class, 'dsn' => 'mysql:dbname=test;host=127.0.0.1', 'username' => 'root', 'password' => '123456', 'charset' => 'utf8mb4', ], ];
يشبه التكوين تكوين طريقة حقن سمة yii2
, يمكنك الحصول على كائن Database
yii2
حاليًا باستخدام \bean('db')
class
حدد أي فئة لاستخدامها في حاوية الحبة الحالية. بالطبع ، يمكنك أيضًا تحديد تطبيقك الخاص لفئة قاعدة البيانات.- معلومات تكوين اتصال
dsn
التي تحتاجها PDO username
بيانات تسجيل الدخول اسم المستخدمpassword
المرورcharset
أحرف قاعدة بيانات charset
إذا كنت ترغب في تكوين master-slave / cluster ، يرجى الرجوع إلى Swoft Database 文档
سهل الاستخدام
اختر
class UserController { public function index() { $users = DB::select('select * from users where active = ?', [1]); return (array)users; } }
ستُرجع طريقة select
دائمًا صفيفًا ، وكل نتيجة في الصفيف عبارة عن صفيف ، ويمكن الوصول إلى قيمة النتيجة كما يلي:
foreach ($users as $user) { echo $user['name']; }
صفقة
يمكنك استخدام طريقة معاملة DB لتشغيل مجموعة من العمليات في معاملة قاعدة بيانات. في حالة حدوث استثناء في إغلاق الصفقة ، سيتم التراجع عن المعاملة. في حالة تنفيذ إغلاق الصفقة بنجاح ، سيتم الالتزام بالمعاملة تلقائيًا. بمجرد استخدام المعاملة ، لم تعد بحاجة إلى القلق بشأن الاستعادة اليدوية أو مشكلات الالتزام:
DB::transaction(function () { DB::table('users')->update(['status' => 1]); DB::table('posts')->delete(); });
جيثب