پلاگین نویسی شی گرا در وردپرس
در این آموزش ویدئویی شما با پلاگین نویسی شی گرا در وردپرس آشنا خواهید شد. شما می آموزید که چگونه از مفاهیم شی گرایی در ساخت یک پلاگین وردپرس استفاده کنید.
در ابتدا شما مزیت های استفاده از شی گرایی برای توسعه پلاگین های وردپرس آشنا خواهید شد.
سپس به صورت کامل یک ساختار شی گرا برای ساخت یک پلاگین از صفر توضیح داده می شود. در این ساختار یک boilerplate برای شروع ساخت یک پلاگین آموزش داده می شود که شما در ساخت همه پلاگین های خود می توانید از آن استفاده کنید.
آموزش پلاگین نویسی شی گرا در وردپرس شامل چه بخش هایی است؟
پلاگین نویسی شی گرا یکی از مباحث بسیار کاربردی و همین طور پیشرفته در پیاده سازی پلاگین های وردپرس می باشد. به دلیل استفاده زیاد از مفاهیم شی گرایی در توسعه پلاگین های وردپرس، تصمیم گرفتم تا به صورت کامل به این مبحث بپردازم.
فیلم آموزش پلاگین نویسی شی گرا در مدت زمان حدود ۱ ساعت و ۱۹ دقیقه برای شما دوست عزیز، تهیه شده است. این آموزش شامل بخش های زیر می باشد:
توضیح مفاهیم اصلی در پارادیم برنامه نویسی شی گرا
نکته مهم پیش از دیدن این فیلم آموزشی:
در نظر داشته باشید که فرض اولیه استفاده از این فیلم، این می باشد که شما با مفاهیم اصلی شی گرایی و همین طور نحوه پیاده سازی آن در PHP ، به طور کامل آشنایی دارید. در صورتی که آشنایی اولیه با پیاده سازی مفاهیم شی گرایی در PHP ندارید، قبل از شروع به دیدن این فیلم، می توانید از مرجع کاربردی آموزش شی گرایی در PHP در لینک زیر استفاده کنید.
چرا برای توسعه پلاگین وردپرس به برنامه نویسی شی گرا نیاز داریم؟
چگونه یک پلاگین وردپرس را به صورت شی گرا پیاده سازی کنیم؟
در این قسمت به صورت مرحله به مرحله با نحوه نوشتن کدهای یک پلاگین به صورت شی گرا آشنا می شویم. در واقع در این مرحله می آموزیم که چگونه با تشخیص و دسته بندی بخش های مختلف Problem Domain خود، از اشیا و متدهای مرتبط با آن ها در توسعه پلاگین استفاده کنیم.
توضیح کامل کدهای یک boilerplate برای ساخت پلاگین های وردپرس
به دلیل اینکه در چندین پروژه مختلف، از این ساختار برای ساخت پلاگین استفاده کرده بودیم، تصمیم گرفتیم تا آن را به صورت یک boilerplate برای ساخت پلاگین وردپرس در گیت هاب منتشر کنیم.
در واقع این یک چارچوب برای توسعه پلاگین وردپرس به صورت شی گرا می باشد که شما می توانید از آن استفاده کنید و هر کدام از بخش های آن را به دلخواه حذف یا اضافه کنید.
در این بخش به طور کامل ساختار این boilerplate که به صورت شی گرا نوشته شده است، مورد بررسی قرار می گیرد و شما به توسط آن، خواهید توانست در آینده از شی گرایی برای توسعه پلاگین های خود به همین شکل یا روش های مشابه استفاده کنید.
در توضیح این Plugin Boilerplate موارد زیر مورد بررسی قرار گرفته اند:
فیلم آموزش شی گرایی برای برنامه نویسی پلاگین در وردپرس
در ادامه می توانید فیلم پلاگین نویسی شی گرا در وردپرس را در زیر مشاهده فرمایید. در صورتی که نیاز به دانلود آن دارید، می توانید از لینک های پایین صفحه استفاده نمایید:
نتیجه گیری برای فیلم آموزش برنامه نویسی شی گرا در برنامه نویسی وردپرس
در این آموزش با نحوه پیاده سازی برنامه نویسی شی گرا در توسعه و ساخت پلاگین های وردپرس آشنا شدیم.
در ابتدا مزیت های برنامه نویسی شی گرا و همین طور ساختار معماری وردپرس آشنا شدیم. سپس فرا گرفتیم که می توانیم به راحتی از OOP برای توسعه وردپرس استفاده کنیم.
در ادامه با پلاگین نویسی شی گرا به صورت عملی آشنا شدیم و یک Boilerplate که برای توسعه پلاگین وردپرس به صورت شی گرا نوشته شده است را، به صورت کامل مورد بررسی قرار دادیم.
ممکن است به نظر شما بعضی از موارد درست نبوده و یا شما موارد بیشتری را بدانید که ما فراموش کرده ایم تا در مقاله استفاده از شی گرایی در کدنویسی وردپرس قرار دهیم.
اگر شما از این موارد آگاه هستید، حتما در بخش نظرات عنوان کنید تا آن را به این مقاله اضافه کنیم. در ضمن اگر این مقاله را مفید دیدید، حتما آن را به دوستان خود معرفی کرده یا در شبکه های اجتماعی به اشتراک بگذارید.
در ساخت و تهیه این مطلب آموزشی از مراجع زیر استفاده شده است. شما می توانید با مراجعه به آن ها در مورد پلاگین نویسی شی گرا، اطلاعات بیشتری را بدست آورید:
راهنما برای خواندن سایر مقالات سایت به صورت دسته بندی شده:
شما می توانید از طریق لینک های کاربردی زیر به سایر مقالات سایت که کاملا بصورت طبقه بندی شده وجود دارد، مراجعه نموده و از آن ها استفاده کنید:
بسیار عالی و کارآمد بود
سلام ممنون از توضیحات تون، همونطور که خودتونم اشاره کردید فایل قرار داده شده خیلی کامل و توضیحات همه رو پوشش نداد ولی با این وجود عالی بود.
لینک دانلود فایل اورپونت پیدا نکردم. اونم قرار بدید ممنون میشم.
سلام به شما دوست عزیز
از شما عذرخواهی می کنم بابت دیر پاسخ دادن (به دلیل مشغله های فراوان کاری که داشتم)
فکر می کنم لینک اسلاید ها در slideshare موجود باشه. الان روی فایل های روی سیستم رو گشتم، اما متاسفانه نتونستم پیداشون کنم.
به محض اینکه پیدا کردم، در این صفحه برای دانلود قرار خواهم داد.
ممنونم از لطف شما
سوال دوم آیا میتونید با این بویلرپلت پلاگین برای فروش در بازار جهانی بنویسیم؟ لایسنس این اجازه رو میده؟
سلام مجدد خدمت شما دوست عزیز
مثل سایر کارهای ما ایرانی، این بویلرپلیت عملا لایسنسی نداره. من هرجا از کدهای مشابه استفاده کردم، در کامنت ها سعی کردم به مرجع اشاره کنم. البته ساختار، ساختاری هست که کلا خودم استفاده می کنم
ساختار اولیه از روی کدهای Tom macfarlin گرفته شده اما بعدا با روش هایی که در سایت Carl Alexander گفته شده، تکمیل ترش کردم.
ضمن اینکه به مرور زمان و در پروژه های مختلف، چیزهای جدید تری بهش اضافه کردم. در واقع از دید من مشکلی برای استفاده نیست.
احتمالا در چند ماه آینده، اون رو داخل سایت رسمی وردپرس قرار بدم. اونجا احتمالا اگه مشکلی داشته باشه، خاطر نشان خواهند کرد.
حتما در همان صفحه گیت هاب، در مورد این مطلب اطلاع رسانی می کنم.
من متاسفانه تا حالا پلاگین برای فروش بین المللی ننوشتم و متاسفانه نمی دونم که آیا این کدها مشکلی خواهند داشت یا خیر. در مورد تم فارست که فکر می کنم مشکلی نباشه (با توجه به فعالیت هایی که بعضی دوستان داشته اند و نکاتی که گفتند)
به هرحال تا یک بار آدم برای این مارکت ها، کارش رو submit نکنه، متوجه مشکلات نخواهد شد.
حتما در چند ماه آینده، این کار رو می کنم و به اطلاع شما هم می رسونم.
ارادتمندم
سپاس از کار زیباتون فقط یه مورد من در مورد دیزاین پترن ها خوندم اینجور گفته میشد که دیگه از سینگلتون به عنوان یک آنتی پترن یاد میشه و استفاده از اون توصیه نمیشه. نظر شما در این مورد چیه؟
در نهایت شما ورژن لایت رو پیشنهاد میدید یا همین ورژنی که آموزش دادید؟
مجدد تشکر میکنم از انتشار دانشتون
سلام به شما دوست عزیز
دقیقا همین طور هست که می فرمایید. عملا سینگلتون با استفاده نابجا، می تونه آنتی پترن تلقی بشه. در واقع مهم ترین اصل شی گرایی که Inheritance هست، زیر سوال می بره.
اینکه در اینجا از singleton استفاده شده، فقط به این دلیل بوده که فقط می خواستم یک نمونه از اون در هنگام فراخوانی هوک های مختلف در وردپرس، از اون ساخته بشه (این امر رو مثلا وقتی از هوک ها استفاده نمی کنید، می تونید مشاهده کنید. مثلا یه کار رو می خواهید در یک فایل text لاگ کنید. اگه اون رو به هوک درستی متصل نکنید، بسته به صفحه ای که در اون هستید، ممکن هست لاگ دو یا سه بار نوشته بشه. در واقع فایل اصلی پلاگین هم، همین شرایط رو داره و برای اینکه نمونه های بیشتری ازش ساخته نشه، خیلی ها از این پترن برای هندل کردن این موضوع استفاده می کنند)، وگرنه این امر دست خود شماست. عملا می تونید از سینگلتون استفاده نکنید.
بنابراین این امر در ساخت یک نمونه از پلاگین، عملا سلیقه ای هست.
در مورد سوال دوم، این فیلم برای دو سال پیش هست. من جای Repository ها رو عوض کردم و کلا این بویلرپلیت در حال حاضر هم، بر مبنای همون سیستم لایت داره جلو میره.
خیلی از مسائل، در زمان قدیم در اون رعایت نمی شد مثل Dependency injection که الان همه رو سعی کردم رعایت کنم. البته یه مقدار به نظرم سرعت توسعه رو پایین میاره اما خب به هرحال، واقعا منظم هست و ساختار داره.
آدرس فعلی Repository اصلی، این هست: OOP WordPress Plugin Boilerplate
متاسفانه وقت نکردم داکیومنت کاملی براش تهیه کنم. امیدوارم به زودی وقت کنم و انجامش بدم.
بازم ممنونم که وقت ارزشمند خودتون رو گذاشتید تا برای ما پیام ارسال کنید
سپاس فراوان
سلام وعرض خسته نباشید
ازoop تو پروژه هام استفاده میکردن اما کاری که شما انجام دادید به مراتب حرفه ای تر هستش
واقعا لذت بردم از boilerplate که قرار دادید . خدا خیرتون بده
ممنونم بابت این آموزش عالی
سلام به شما دوست عزیز
نظر لطف شماست. این فیلم یه مقدار قدیمی هست و از اون تاریخ به بعد، کلی تغییرات روی اون دادم. خصوصا اون زمان خیلی با اصول SOLID کار نکردم و مثلا اصلا Dependency Injection رو رعایت نکردم. اما در ورژن های جدید، ساختار خیلی بهتر شده.
به زودی یه فیلم از ساختار جدید هم تهیه می کنم و همین جا قرار میدم.
خیلی خیلی متشکرم بابت پیام های محبت آمیز که فرستادید. سپاس فراوان
این plugin sample که گذاشتید واقعا عالیه و بی نهایت ارزشمند
ممنون
سلام به شما دوست عزیز
ممنون بابت پیامی که گذاشتید. خوشحالم که این boilerplate مورد نظر شما قرار گرفته.
یک نکته: به دلیل اینکه استفاده از کلاس loader برای run کردن action ها و filter ها باعث پیچیدگی بیش از حد پلاگین می شد، یه ورژن آسان تر که دیگر نیاز نیست از loader برای آن ها استفاده شود، در گیت هاب گذاشتم. در صورت نیاز می توانید از آن استفاده کنید:
لینک WP plugin boilerplate – light version
از لطف شما بسیار ممنون و سپاسگزارم