استفاده کردن از smarty در PHP بخش اول

استفاده کردن از smarty در PHP

سلام

وقتی برنامه نویسی تحت وب انجام میدین یا باید همه فن حریف باشید یا باید یه کار و بیشتر … رو به خوبی انجام بدین

چون هر روز داره پیشرفته تر میشه این موضوع . یه برنامه نویس تحت وب باید به ترتیب

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 رو نصب و بهش متصل بشیم

این مثال ساده رو میتونید از طریق این لینک دریافت کنید

 

بدلیل طولانی شدن مطلب ، ادامه این مطلب رو توی پست های دیگه میزارم

2 دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *