🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ amin javadi
نکته اموزشی-خلاصه درس
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۱۹ خرداد ۱۴۰۲

https://developer.wordpress.org/reference/classes/wpdb/

دیتابیس در وردپرس :

جایی که اطلاعات یوزرها یا به طور کلی دیتای وبسایت یا پلاگین هایمان را توی اون ذخیره میکنیم

دستورات sql در قالب وردپرس و کلاس وردپرسی بنام wpdb بررسی کنیم و این کلاس کار ما رو راحت میکنه و میتوانیم انواع query رو بدون اینکه درگیر اتصال اولیه به query بشیم روی دیتابیس بزینم که کلا ساختار query‌ها چهار بخش اصلی هست یعنی crud مخفف :

create

read یا select

update

delete

که هر کدام از این‌ها مخصوصا read خودش زیر مجموعه‌های زیادی داره مثلا انواع اقشام select کردن

برای شروع جلسه ابتدا یک تم ساده ایی که استاد ضمیمه کرده رو دانلود و در پوشه theme در لوکال هاست کپی کرده و روی وردپرس خودتون فعالش کنید

هر چیزی که توی فایل فانکشن موجود در قالب نوشته شده باشه از همه جا در دسترس است حتی توی صفحه منوی wp-admin بهش دسترسی داریم که اگه view page source در همون صفحه بزنیم مشخص است .

Using the $wpdb global object

اولین کار استفاده از متغیر wpdb$ هس که یک global object محسوب میشود هر جا میخواییم query داشته باشیم ابتدای صفحه از این متغیر استفاده میکنیم$wpdb یک ابجکت از کلاس wpdb هس

محتوای داخل ابجکت شامل بیشمار key:value هس راجب جداول دیتابیس(نام جداول دیفالت وردپرس ،نام متدهاو....

a98a-2023-06-09_234820.png

متد‌های زیادی برای read توی کلاس wpdb براش وجو داره متدهای کلاس یه محض نوشتن <<<--------- در دسترس است یعنی:

بحث شی گرایی است که اگر از یک کلاسی یک ابجکت بسازیم از طریق اون میتونیم به تمام متود‌های درون اون دسترسی داشته باشیم

9f5c-2023-06-09_235930.png

get result مثل fetch all در php می‌باشد باعث میشود تمام دیتای جدول موردنطر رور برگردونه هم در قالب ابجکت و هم در قالب آرایه.

کوتیشن " " برای این می‌گزاریم که اگه خواستیم متغیری درونش داشته باشیم مسکلس نداشته باشم

ad8e-2023-06-10_002714.png

حالا میخوایم تمام دیتای جدول usrs رو دز مزوزگر ببینیم پس از متغبر بالا var-dump میگیریم :

20e5-2023-06-10_003147.png

نکته : جداولی که خودمون custom ایجاد میکنیم یعنی پیش فرض نیستن ساختار فراخوانیشون متفاوته که بعدا راجبشون صحبت میکینم

مهم : خروجی ارایه ای از key:values‌ها هست که کلید ان ایندکس یوزرها و value‌های ان ابجکت هست

بطور کلی ارایه ای که درون ان ابجکت هس را در خروجی داریم و در عکس بصورت زیر بهتر قابل مفهوم است :

5a4d-2023-06-10_004620.png

برای دیدین بهتر عکس ان را سیو و سپس زوم کنید

زمانی از get result استفاده میکینم که بخوایم لیست کاربران رو نشون بدیم و بعدش حلقه for each بزنیم روی get result این نوع دسترسی به دیتا که در این مثال میگیم اشتباه هست صرفا جهت بادگیری میکیم چون ما یک متود دیگه ای داریم بنام get row و میتوانیم فقط یک ردیف روو براحتی در بیاریم ازن روش استفاده میکنیم

3146-2023-06-10_010009.png

تعیین یا عوض کردن جنس

نوع خروجی بصورت دیفالت یا پیش فرض یک ابجکت است ما میتوانیم با تعیین نوع خروجی دیفالت رو تغییر بدیم به ارایه نوع A یا ارایه n

associated array - ساختار string class نداشته باشه در این associated array جنس خروجی را همین گزاشتیم

2ed3-2023-06-10_011251.png

array-N : کلیدهای ما رو بصورت INDEX یعنی INDEXED ARRAY برمیگردونه یعنی بجای کلید USER-LOGIN در عکس بالا که دیگه نداریمش باید شماره INDEX رو بگم :

2c21-2023-06-10_011911.png

چه زمانی از حلقه استفاده میکنیک :

زمانی که بخوایم به اضای هر عضو از ارایه یه کاری روی هر عضو انجام بدیم مثلا زمانی که دو تا یوزر توی دیتابیس داشته یاشیم ظبیعتا دو ازایه ما دو عضو داره که به ازای هر عضو بخوایم کاری روش انجام بدیم

در حلقه FOREACH گفتیم توی پرانتز جلوهش که فرض کن هر عضو اریه اسمش ITEM باشه

89b6-2023-06-10_012722.png

ادامه مباحث QURY‌های مربوط به SELECT در جلسه بعد

خوب بود ! 

فقط به نظرم جا داشت به مفهوم stdClass هم اشاره بکنی ! 

صادق اشکاوند ۱۱ آبان ۱۴۰۲، ۲۱:۵۰