دوست عزیز ساختار های مختلفی برای کدنویسی به مرور زمان بوجود اومده که کارشون اینه که کدنویسی رو اصولی تر میکنن و نتیجش اینه که خوانایی کد بیشتر میشه و بعضی مزایای دیگه
از جمله این روش ها الگوی MVC هست که کلا میاد لایه ی view رو از کدهای هسته نزم افزار جدا میکنه (معمولا بصورت شی گرا یا Object Oriented پیاده سازی میشه)
یکی دیگه از روش ها نوشتن کدها به صورت فانکشنال هست...
البته این روش ها روش های ثبت شده و کاملا ثابتی نیستند و برنامه نویس با توجه به کارش و با خلاقیت خودش میاد این روش ها رو تغییر میده و یا با هم ترکیب میکنه.
حالا بریم سر اصل مطلب یا همون کلاس قالب
ببینید شما 1 راه برای این که 1 نرم افزار رو با PHP بسازید اینه که کدهای HTML رو بنویسید و مابین اونها هرجا که لازمه کدهای PHP هسته نرم افزارتون رو بنویسید.
اما عیب این روش چیه؟
مشخصه که کدها کاملا نامرتب و اسپاگتی میشه و در واقع بخش view نرم افزار با هسته نرم افزار یکجا هست که بعدا برای تغییرات توی نرم افزارهای بزرگ شما رو دچار مشکل میکنه.
( مثلا برای تغییر ظاهر نرم افزار کدهای هسته نرم افزار هم جلوی شما هست! ) یا یکی دیگه از عیب هاش اینه که اگر خواستید قالب سایت رو در مناسبت های مختلف عوض کنید اینکار ممکن نیست.
حالا یکی از چاره هایی که برای این مشکل اندیشیده شده استفاده از کلاس یا موتور قالب هست. (Template Engine)
شیوه کار بدین صورت هست که شما 1 قالب که معمولا 1 صفحه HTML هست رو توسط PHP لود میکنید... در حین اجرای کدهای PHP و قبل از فرستادن چیزی به Output شما 1 سری پردازش ها رو داری، از جمله لود کردن از دیتابیس و...
حالا فرض کنید تو صفحه HTML شما 1 تگ وجود داره به نام [sitetitle] . بعد شما میای عنوان سایت رو توسط PHP از دیتابیس و یا هرجای دیگه میخونی و براحتی اون تگ قالب رو با عنوان سایت جایگزین میکنی.
اینجوریه که کدهای HTML شما از کدهای PHP تفکیک میشن و زیبایی و خوانایی و گسترش پذیری نرم افزار شما بیشتر میشه.
این به طور خیلی ساده بود
پیشنهاد میکنم برای آشنایی بیشتر با موتورهای قالب ساده کار کنید و کدهای اونا رو بخونید متوجه میشید که کارشون چیه
( تاکید میکنم ابتدا با موتورهای قالب ساده کار کنید و نه مثلا Smarty )
موفق باشید