ساخت CMS ساده با PHP - قسمت 3 - ساختار فایل ها

- visibility ۴۴ mode_comment

به نام خدا و سلام به همه دوستان عزیز و کاربران بخش VIP،اول از همه سال نو رو تبریک میگم و امیدوارم سال خوب و  پر از موفقیتی داشته باشین و بعدشم پوزش میطلبم بابت یکی دو هفته ای که در قرار دادن مطالب این سری تاخیر پیش اومد؛انشالله سری رو با نظم بیشتری در قسمت های بعدی قرار میدیم.

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

در ابتدا من ساختار فعلی رو برای پروژه خودمون به صورت تصویر قرار میدم،حالا بعدا ما این ساختار رو تغییر میدیم و پوشه ها و فایل های جدیدی بهش اضافه می کنیم،اما در حال حاضر ساختار به همین صورت هستش.

ساختار فایل ها در مدیریت محتوا

 

خوب در این جا پوشه های css برای فایل های استایل (فایل های فریمورک بون استرپ و استایل شخصی)،پوشه fonts برای نگهداری فونت های مورد نیاز،پوشه images برای تصاویر مربوطه،پوشه inc که پوشه اصلی کار ما هستش و برای نگهداری کدهای پروژه ازش استفاده میشه،پوشه js هم برای نگهداری فایل های جاوا اسکریپت و در نهایت فایل index.php و فایل init.php که درباره این فایل ها توضیح میدیم.

فایل init.php

ان فایل در واقع به عنوان فایل واسط عمل میکنه و از تکرار برخی کد ها جلوگیری میکنه،به چه صورت؟ما تمام کدهای اصلی خودمون ور در پوشه inc قرار میدیم و این فایل فایل های اصلی این پوشه inc رو داخل خودش نگه میداره تا در جاهای مختلف ازش استفاده کنیم،چه در بخش عمومی سایت و چه در بخش مدیریت سایت.کدهای این فایل رو به این صورت می نویسیم.

در خط اول یه ثابت تعریف کردیم به نام SITE_ROOT که این آدرس ریشه سایت رو در خوش نگه میداره تا در جاهای مختلف دسترسی بهتری به فایل ها داشته باشیم.در خطوط بعدی ما فایل های فعلی موجود در پوشه inc رو در این جا الصاق کردیم.خوب فعلا با ابن فایل دیگه کاری نداریم.

فایل config.php

ما در این فایل تنظیمات اصلی رو قرار میدیم،در واقع اینطور بگم که تنظیماتی که در همه جا لازم میشه رو در این فایل قرار میدیم،مثل اطلاعات ارتباط با دیتابیس و اطلاعات تنظیم زمان حاضر برای ایران و روشن کردن سشن و ...

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

فایل db.php

فایل db.php دستورات مربوط به اتصال به دیتابیس رو در خودش نگه میداره.

اولش می بینید که فایل config.php رو اضافه کردیم تا به اون آرایه config دسترسی داشته باشیم،بعدشم یه اتصال ایجاد کردیم برای mysql و از همون اطلاعات آرایه استفاده کردیم،و بعدشم دیتابیس CMS رو انتخاب کردیم و در نهاییت هم  charset رو روی utf تنظیک کردیم تا برای اطلاعات فارسی مشکلی نداشته باشیم.

کدها کوتاه هستن و میشد اونارو در فایل های دیگه مثل همون config.php بنویسیم،چرا اینکارو نکردیم؟یکی از اصول برنامه نویسی خوب حفظ ماژولار بودن کد هستش یعنی اینکه کد رو در قسمت خودش و جدا نگه داری کنیم تا بتونیم ازش در پروژه های دبگه هم استفاده بکنیم و هم چنین ویرایش اون خیلی ساده تر باشه.

شاید اینجا خیلی به چشم نیاد اما در پروژهای بزرگتر وو مخصوصا در شی گرایی اثر خودشو خیلی خوب نشون میده.اینجا هم یه تمرین هست برای یاد گرفتن ساختار درست فایل ها در پروژه.

خوب دوستان میمونه فایل functions.php که انشالله در قسمت بعدی باید متد های اونو بنویسیم.

در قسمت بعدی محتوای فایل index.php رو مشخص میکنیم و میریم برای ثبت کردن مطالب در سایت.

موفق و پیروز باشید.

comment دیدگاه کاربران
محمد

ایا SITE_ROOT یه تابع هست که به روت سایت اشاره میکنه ؟

لقمان آوند

یه ثابت هست و آدرس ریشه سایت رو در خودش داره .

amir baragy

سلام استاد
من منظورتون رو از قسمت کد متوجه نمیشم

مگه نباید به صورتهای زیر نوشت؟

تشکر

کیوان علی محمدی

PHP_SELF اسم فایل رو برمیگردونه ولی DOCUMENT_ROOT مسیر اصلی اجرای فایل رو میده و ما ازش برای مشخص شدن مسیر پروژه استفاده کردیم.

وارالا فراسری

سلام چرا قسمت اول وقسمت دوم از آموزش ساخت سیستم مدیریت محتوا نیست

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.
1 2 3