شنبه یه خبراییه 🔥 منتظر شنبه باش 😉🥳
۰ ثانیه
۰ دقیقه
۰ ساعت
۷ احسان پژمان
ساختار یک پروژه چندقستمه (دارای پنل ادمین) چگونه باید باشد؟
جامعه پی اچ پی ایجاد شده در ۲۸ دی ۱۴۰۱

با سلام وقتتون بخیر من چند روزیه شروع یه پروژه تمرینی تحت عنوان سیستم مدیریت محتوای وبلاگ شروع کردم که این پروژه داری پنل ادمین می‌باشد و همچنان یک قالب وبلاگ.... که در واقع دو پروژه میشه وفایلهای فرانت دوتای اینها هم زیاده و ساختارهای خاص خودشونو دارن .... مثلا پنل فولدر بندی‌های زیر رو دار

17ca-Screenshot 2023-01-18 122249.png

حالا این ساختاریه که فرانت براش در نظر گرفته و اگر من طبق آموزش‌ها بخوام عمل کنم ممکنه بهم بریزه؟

و در کنار این فولدر فایلهای خود وبلاگ هستش که اون حالا ساختار ساده‌تری بنسبت این داره و شلوغ نیست چندان و قابل ادیت کردنه

استاندارد این مدل پروژه‌ها چطوریه من هرچی سرچ کرد چیزی که قابل درک باشه پیدا نکردم ممنون میشم منبعی وجود داشت راهنمایی بفرمایید.

سلام احسان جان

برای فولدر بندی پروژه بنظرم میتونین به صورت زیر عمل کنید:

  • assets : یک فولدر به نام assets باشه که داخل این فولدر میتونه عکس‌ها و فونت‌ها و آیکون‌ها و این قبیل موارد باشه.
  • libs : این فولدر برای کتابخانه هایی که توی پروژه قراره استفاده بشه هست. مثلا jquery, font-awesome, popper, bootstrap و ...
  • templates : این فولدر برای فایل‌های مربوط به قالب پروژه هست که میتونه شامل header, footer و ... باشه.
  • base یا core : این فولدر برای هسته اصلی پروژتون هست و شامل فایل‌های مثل کانفیگ، فانکشن ها، کلاس‌ها و ... که البته بعضی اینا باز خودشون میتونن توی یه فولدر دیگه قرار بگیرن که باهم قاطی نشن.
  • vendor : این پوشه هم که برای پکیج هایی هستش که نصب میکنید. (از طریق composer منظورم هست)
  • js : این فولدر شامل فایل‌های js که خودتون مینویسن هستش.
  • css یا styles : فایلهای css رو توی این فولدر بزارید.

تقریبا همچین ساختاری برای خودتون بوجود بیارین و دسته بندی کنید فایلها رو و هر بخش رو توی یک فولدر مرتبط بزارید تا برای توسعه هم راحتتر باشید.

صادق برزگر ۲۸ دی ۱۴۰۱، ۱۰:۵۲

باسلام استاد محترم

همانطور که عرض کردم این ساختاری که فرمودید طبق تصویری که دادم برای فرانت پروژه وجود داره و اگر تغییری بیارم طبق ساختاری که حالا شما گفتید ممکنه به هم بریزه و استایل دهی‌ها ریفکتور نیاز داشته باشن که دردسر میشه ضمنا من اشاره کردم که این پروژه از دو قسمت تشکیل شده قسمت پنل مدیریت و خود قالب آیا همانطور که توضیح دادید ساختار کلی پروژه رو این شکلی بچینم یا هر قسمت اش رو این سوال برای من هنوز نا مفهومه

احسان پژمان ۲۸ دی ۱۴۰۱، ۱۵:۳۱

فعلا لازم نیست خودتون رو زیاد درگیر این موضوع کنید و با همون شیوه خودتون پیش برید. در ضمن با دیدن ادامه دوره و کسب کمی تجربه و آشنا شدن با ساختار بندی هایی که در ادامه باهاش مواجه میشین (مثلا MVC) این مشکل براتون حل میشه و به این درک میرسید که چطوری باید ساختار پوشه هاتون رو مشخص کنید.

صادق برزگر ۲۸ دی ۱۴۰۱، ۱۶:۱۹

با احترام استاد محترم

بنظرم بعنوان یک متخصص زبان پی اچ پی ممکنه به احتمال قطع که به چنین موردی بر بخوریم ونیاز باشد با روش برنامه نویسی رویه ای پروژه‌های متوسطی رو جلو ببریم بنابراین لازمه بدونیم ساختارش به چه شکل باید باشد بدون استفاده از شی گرایی و معماری خاصی....برای همین مزاحم شدم و این سئوال رو مطرح کردم و اگر من با روشی که خودم مد نظر و ایده اش رو دارم جلوبرم ممکنه استاندارد نباشه و خلاف استاندارد مسیرو رفته باشم و این عادت بشه

احسان پژمان ۲۸ دی ۱۴۰۱، ۱۶:۳۰

احسان جان، این خوب هست که نسبت به کد و ساختارتون حساس هستید و دنبال استانداردها هستید ولی این نکته رو درنظر داشته باشید که در ابتدای راه نیاز نیست این همه وسواس وجود داشته باشه، به مرور زمان با کسب تجربه و البته مطالعه، به Best Practice‌ها و ساختارهای مناسب برای پروژه و اینکه چه موقع از چه ساختاری استفاده کنید پی میبرید. این رو هم درنظر داشته باشید که هر پروژه ساختار خودش رو میتونه داشته باشه و بر حسب پروژه ساختار مناسب انتخاب میشه.

برای تفکیک ادمین و خودِ سایت میتونید دوتا فولدر اصلی (admin و front یا مواردی شبیه به اینها) داشته باشید که فرانت و ادمین رو جدا کنید و طبق ساختاری که بالاتر گفتم این مورد رو برای هرکدوم اعمال کنید. در ضمن برای فایل‌های مشترک میتونین یه فولدر سومی هم داشته باشین. (مثلا common)

در مورد روش برنامه نویسی رویه ای تقریبا میشه گفت روش خیلی استانداردی نیست چون هرچقدر که بخواین فایل‌ها رو تفکیک و ساختاریافته کنید بازهم یکجاهایی کدها قاطی میشه که به اصطلاح بهش اسپاگتی کد میگن. البته با ساختارهای MVC و ساختارهای شبیه به اون، کدها و ساختارتون بهتر میشه. وقتی شی گرایی و MVC رو یادبگیرید به یک ساختار منظم‌تر میرسید.

اگه میخواید اطلاعات بیشتری در این زمینه بدست بیارید میتونید این مقاله رو مطالعه کنید. در ضمن برای خواندن مقالات بیشتر در این رابطه میتونید در گوگل php best folder structure رو جستجو کنید.

موفق باشید.

بهترین پاسخ
صادق برزگر ۲۸ دی ۱۴۰۱، ۱۸:۱۹

سپاسگزارم استاد بابت وقتی که گذاشتید طبق سرچی که داشتم متوجه شدم هیمنطوره که شما میگید و ساختار مشخصی وجود نداره

احسان پژمان ۲۸ دی ۱۴۰۱، ۱۸:۲۲