سلام
وقتی برنامه نویسی تحت وب انجام میدین یا باید همه فن حریف باشید یا باید یه کار و بیشتر … رو به خوبی انجام بدین
چون هر روز داره پیشرفته تر میشه این موضوع . یه برنامه نویس تحت وب باید به ترتیب
html , css , javascript , jquery , php , sql , security , …. رو بلد باید وگرنه برنامه نویس نیست گلابیه
خوب یه جورایی سخته همه این موارد رو توش خوب بود . تازه من مفاهیم شبکه و سیستم عامل رو سعی کردم ننویسم 😀
شما میتونید همه اینها رو بدونید و کارهاتون رو تکی انجام بدین ، اما این تا زمانی خوبه که بصورت گروهی کار انجام نشه
وقتی کار گروهی انجام میشه اصولا یک نفر ui کار رو انجام میده و یک نفر مثلا php یک نفر sql …
خوب کار بزرگ شد و افکار ممکنه با هم توی یک راستا قرار نگیره و همین میتونه مشکلات ایجاد کنه
خوب برای اینکه برنامه نویس با ui کار بتونن زیر یک سقف کار کنن و دعواشون نشه (چون هر کدوم فکر میکنن بهرتن) بهتره یک واسطی بینشون باشه
که برای جفتشون هم قابل درک باشه . یعنی php کاره نره توی کد html دست بزنه و کد خودش رو داخلش بنویسه یا مجبور نباشه وسط کد php هی از دستور echo
استفاده کنه برای چاپ مقادیر html . اینکار جز کثافت کاری چیز دیگه ای نیست . :))
خیلی ساله که این مشکل حل شده فقط باید همت کنیم و بریم به سمتش . اونم چیزی نیست جز موتور های قالب (Template Engine)
خدا رو شکر PHP پره اینجور چیزاس و پره برنامه نویس هایی که دوس دارن نو آوری داشته باشن.
یکی از این موتور های قدیمی و قدرتمند smarty نام داره. (Smarty is a template engine for PHP)
واژه قدیمی اصلا چیز ترسناکی برای استفاده کردن از smarty نیست ! خیلی هم خوبه . من که پیشنهاد میکنم از smarty استفاده کنید
(راستش خودم نرفتم سراغ بقیه template engine ها :)) شاید بهتر باشن)
شما بوسیله smarty میتونید کد های php رو از html جدا کنید و هر کسی رو تخصص خودش کد بزنه و در کل کار تمیز تر در میاد
در این پست قصد دارم فقط از قابلیت های smarty بگم و در پست های بعدی تخصصی تر وارد کد نویسی php و smarty میشیم
از قابلیت های smarty عزیز :
- جدا کننده کد php از html
- سازگاری کامل با php و توابع آن
- افزایش کارای و بهبود سرعت سایت
- بهرمند بودن از cache بهینه
- قابلیت استفاده از if , else , elseif , foreach , for , while….
برای استفاده از smarty در php کار ساده ای در پیش دارید
- ابتدا وارد سایت smarty.net شوید و از منوی دانلود آخرین ورژن smarty رو دریافت کنید ( باید یک فایل فشرده دانلود کرده باشید )
- فایل فشرده رو باز کنید و فولدر libs رو از داخلش کپی کنید و به پروژه خودتون انتقال بدین
- حالا یک فولدر ایجاد کنید( در هر مسیری که میخاید ) و به عنوان مثال اسمشو templates قرار بدین و داخل اون یک فولدر به نام templates_c ایجاد کنید
خوب یه توضیح راجعبه این ۲ فولدر که ساختید ، شما کل اطلاعات مربوط به قالب سایت رو در فولدر templates قرار میدین از این به بعد مثلا css . js . image …
پس ساختار فولدر بندیتون رو حفظ کنید. شما یک فولدر به اسم templates_c هم ساختید که اسمارتی بعد از کامپایل کد شما یک فایل توی این فولدر ایجاد میکنه
و از این به بعد با اون کار میکنه . شما نیاز نیست دست توی محتوای فایل های این فولدر بزنید . بزارید کارشو انجام بده
- خوب حالا توی فایل index.php کلاس مربوط به اسمارتی رو فراخانی میکنیم و یک شی از اون میسازید
include_once "libs/Smarty.class.php"; $smarty = new Smarty();
- حالا باید آدرس و اسم اون فولدری که برای کامپایل کد ساختیم رو به این شکل بدیم ( البته اگر مشخص نکنید خود smarty این فولدر رو ایجاد میکنه )
$smarty->compile_dir = 'templates/templates_c';
- خوب حالا کار تمومه فقط باید یک فایل با پسوند .tpl توی فولدر templates بسازید و در آخر فایل index.php این خط رو فراخونی کنید
$smarty->display('main.tpl');
خوب این چیه ؟ این دقیقا همون فایلی که ما برنامه نویسا رو از دست ui کارها نجات میده.
طراح باید کد html خودش رو توی این فایل بنویسه و دخیره کنه. خوب تا اینجا تونستیم smarty رو نصب و بهش متصل بشیم
این مثال ساده رو میتونید از طریق این لینک دریافت کنید
بدلیل طولانی شدن مطلب ، ادامه این مطلب رو توی پست های دیگه میزارم
سلام
عالی بود. استفاده کردیم
ممنون از اموزش خوبتون