Last updated on ۱۳۹۹/۰۸/۰۸
سلام دوستان! در این پست امکاناتی رو که وردپرس رو پایه ای قوی برای توسعه ی نرم اقزارهای تحت وب می کنه معرفی میکنم و هر کدام از این امکانات رو شرح میدم.
مهمترین مسئله درباره ی استفاده از وردپرس برای توسعه ی نرم افزار های تحت وب اینه که وردپرس با تمام فریم ورک هایی که استفاده میشه متفاوته چون وردپرس اصلا فریم ورک نیست!
وردپرس یک foundation (پایه) است نه فریم ورک!
تفاوت foundation با framework
Framework :
در برنامه نویسی کامپیوتر,یک فرم فرک دارای قالب کلی یک نرم افزاره که برنامه نویس می تونه قسمتهایی رو که به صورت اختصاصی می خواد بهش اضافه کنه(کدش رو بنویسه).یک فریم ورک دارای ابزار های توسعه, کتابخانه ی کدها , ابزار پشتیبانی , کامپایلرها و رابط کاربردی برنامه نویسی (APIs) هست که با استفاده از این ابزار می تونیم یه پروژه رو انجام بدیم.
Foundation :
به صورت خلاصه: یه نرم افزار می تونه در framework ساخته بشه و در foundation گسترش پیدا کنه.
تجدید نظر در معماری برنامه
برنامه های تحت وب لایه بندی مشابهی دارند که وردپرس هم همینطوره.
۳ لایه ها شامل:
- لایه پایگاه داده (The Database Layer) :
mySQL در وردپرس
- لایه کاربرد(The Application Layer) :
در وردپرس با PHP نوشته شده و کارهایی مثل نوشتن و خواندن از پایگاه داده رو انجام میده و برای توسعه دهندگان یه رابط کاربری برنامه نویسی (APIs) هست
- لایه ارائه (The Presentation Layer):
در وردپرس از CSS و HTML ( در بعضی از تم ها) , JQuery و … استفاده میکنه.
ما وقتی می خوایم بر پایه (Foundation) وردپرس برنامه مون رو توسعه بدیم باید همین لایه بندی رو حفظ کنیم. ما می تونیم طراحی خودمون رو داشته باشیم و حتی از روش های خودمون استفاده کنیم اما باید با لایه بندی وردپرس هماهنگ باشیم چون با اینکه امروزه بیشتر از معماری (Model View Controller MVC) استفاده می شه اما معماری وردپرس فرق می کنه.
مدیریت جلسات, ایمیلها و کاربران
مدیریت حساب کاربری (account) کاربرانی که ثبت نام کردند!
جلسات (session) برای داده های پایدار
خدمات ایمیل
اینها اصلی ترین خدماتی هستند که برنامه های تحت وبی که توسعه داده شده ارائه می دهند.کارهایی که این خدمات ارائه می دهند با هم مرتبطه.مثلا : وقتی کسی در سایت عضو میشه یه ایمیل از طرف سایت بهش می رسه که بتونه حساب کاربریشو فعال کنه بعد که وارد سایت شد تا لحظه ای که در سایت می مونه داره از session ها استفاده می کنه.
خوبه که قبل از ادامه بحث یه توضیح مختصر درباره ی session بدم:
وقتی کاربری داره از سایتی استفاده می کنه یه سری اطلاعاتش در همون چند دقیقه ای که در سایت هست نگه داری می شه.این اطلاعات بعد از اینکه از سایت خارج بشید از بین میره و در پایگاه داده سایت نگه داری نمیشه به این اطلاعات session می گن.
وقتی داریم در برنامه های وردپرس از session صحبت می کنیم باید اینو بدونیم که در برنامه های عادی session توسط API (رابط کاربری) ارائه می شه اما در اینجا session رو php ارائه می کنه.
در آخر هم درباره ی ایمیل این نکته رو بگم که:
کاملا مشخصه که ایمیل یه راه ارتباط بین سایت و کاربره اما ممکنه ندونید که وردپرس (با اینکه به صورت استاندارد اینطور نیست) میتونه هم در روال های عادی(مثل زمان ثبت نام) و هم زمانی که اتفاق خاصی رخ میده با استفاده از ایمیل کاربرش رو مطلع کنه.
ذخیره و بازیابی اطلاعات
وقتی کاربری از سایت استفاده میکنه به احتمال قوی بعضی از اطلاعات رو در پایگاه داده ذخیره یا بازیابی میکنه یا گاهی ممکنه که خودش اینکار رو انجام نده.وردپرس خودش بعضی از کارهایی که یک کاربر انجام میده رو ضبط می کنه یا اطلاعاتی رو که قبلا از کاربر گرفته به کارمیبره (بازیابی می کنه).
در همین مقاله گفتیم که وردپرس دارای یک API (رابط کاربری) هست.ذخیره و بازیابی اطلاعات در همین API رخ میده اما مسئله ی مهم اعتبار و امنیت اطلاعاته.ما باید اطلاعات صحیح و کاربر پسند رو در اختیار کاربر قرار بدیم!
مدیریت ادرس دهی URL
در مورد آدرس دهی وردپرس نسبت به نیاز برنامه نویس در API طرح های مختلفی رو برای ادرس دهی استفاده میکنه که با استفاده از روالهای خاص خودشون ادرس هایی مناسب و بدون مشکل رو ایجاد میکنند.
CASHING
Cash (حافظه نهان) راه کاری برای سرعت دادن به بارگزاری صفحات وبه.ممکنه در جاهای خاصی از مسیر بین کاربر تا وبسایت (مثلا داخل مرورگر خود کاربر یا پراکسی ها) اطلاعات سایت یا صفحه HTML برای استفاده های بعدی ذخیره بشه.
با اینکه شما میتونید از افزونه ها برای CASHING استفاده کنید در وردپرس API این امکان رو فراهم میکنه و میتونید با ایجاد تغییرات در API پایگاه داده رو برای CASHING بهینه کنید.
ارتباط با پایگاه داده
وردپرس بر پایه پایگاه داده کار میکنه (اولین لایه ی معماری وردپرس!) و برای هر نوع تبادل اطلاعاتی با وردپرس راهکار مناسبی داره.
Wp_query برای تبادل اطلاعات درباره پست ها و ابر داده ها و…
Wp_user_query برای تبادل اطلاعات پیشرفته (مثلا اگه لازم یه لیست از کاربرای خاصی رو از پایگاه داده درخواست کنید)
$dbwp برای نوشتن دستورات سفارشی.
در پایان:
این مقاله سعی داشت تا امکاناتی رو که وردپرس برای توسعه یک برنامه ی تحت وب در اختیار ما میذاره رو به صورت کوتاه معرفی کنه. این امکانات نسبت به نیاز ما استفاده میشه و لزومی نداره حتما همشون رو استفاده کنیم!
_ منبع
اولین باشید که نظر می دهید