🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ احسان پژمان
چگونگی ارتباط پایگاه داده یک api
جامعه پی اچ پی ایجاد شده در ۱۷ شهریور ۱۴۰۲

با سلام وقتتون بخیر

من می‌خوام برای پروژه ای todo ام api بنویسم و حالا اینجا برای ارتباط با پایگاه داده توابع نوشته شده قبلاً ولی حالا که من می‌خوام عملیات مثلا get رو مطابق این آموزش و یا هر روشی جلو برم که همزمان ۲ کوئری پارامتر ارسال کنم و دریافت کنم انجام نمیشه... در واقع اون تابع که برای گرفتن مثلا فولدر‌های یک یوزر تعریف کردم بدرد نمیخوره زمانیکه مثلا می‌خوام همزمان یوزر آیدی ارسال بشه و آیدی فولدر.... بنابراین احتیاجه که تابع مخصوص خود api برای ارتباط با پایگاه داده نوشته بشه و این یعنی تکرار میخواستم بدونم آیا در همه پروژه‌ها توابع و کلاسهای ارتباط با پایگاه داده متفاوته یا نباید باشه و از همون توابع نوشته شده باید استفاده بشه؟

سلام،

آنچه برداشتم از تکست شما بوده رو در چند خط مینویسم،

یکی از اصول مهم برنامه نویسی اصل DRY یعنی Don't Repeat Yourself است. برای نوشتن قسمت‌های توسعه پذیر و Resusable.

آنچیزی که شما در ابتدای دوره یاد گرفتید و رفته رفته معلوماتتون تکمیل شده تا این سرفصل، نیاز خواهید داشت تغییراتی ارائه دهید. ضمن اینکه اون پروژه برپایه ی شی گرایی نبوده است. بنابراین نکته اینجاست که اگر میخواهید از پایه این موضوع را در پروژه برنامه ریزی کنید ساختار پروژه todo خواهد کرد.

ولی چنتا نکته کلی برای بهبود:

  • لایه ی دیتابیس از لایه ی application (مثل api) جدا باشد.
  • برای دیتابیس میتونید از ORM‌های معروف استفاده کنید. از medoo در میکرو فریمورک MVC در سرفصل‌های جلوتر استفاده شده است.
  • اگر میخواهید روی همان پروژه قبلی کار کنید چون پروژه بصورت شی گرا نبوده تکرارهایی ممکن است اتفاق بیوفتد.
  • برای هر سناریو یک تابع تعریف کنید.
  • توابع انعطاف پذیر بنویسید تا بتوانید در توابع دیگر چندین بار استفاده کنید.
  • میتونید توابعی تعریف کنید بهمراه default arguments تا یک سری از آرگومان‌ها مقدار پیش فرض داشته باشند.
  • میتونید از variadic functions استفاده کنید یعنی در قسمت آرگومان یک متغیر بهمراه {} spread operator => testFunc(...$args) به این شکل به هر تعداد میتوانید ورودی ست کنید.
  • اگر قصد داشتید از پایه تغییرات را ایجاد کنید، سرفصل MVC را هم ببینید.
  • یک سری موضوعات رفته رفته کامل خواهد شد یعنی من به روشی کدنویسی میکنم که هر چه جلوتر میروم سلوشن‌های بهتری در موضوعاتی مثل clean code و اصول solid و همچنین الگوهای طراحی یاد میگیرم و کدنویسی را بهبود میدهم.
محسن موحد ۱۷ شهریور ۱۴۰۲، ۱۰:۴۳