تاریخ امروز:31 فروردین 1403

اسمارتی چیست؟

با سلام

مطلب زیر به نقل از تالار گفتمان میکرورایانه می باشد (forum.microrayaneh.com)

Smarty موتور Template می باشد که برای آسانتر نمودن مدیریت کدهای قرار گرفته بر روی صفحات سایت بکار می رود و باعث می شود هر یک از اجزاء سایت را بهتر و آسانتر بررسی نمود.

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

یک روز که برنامه نویس می خواهد محتوای مقاله را تغییر بدهد، این تغییرات هیچ تاثیری روی قالب طراحی شده ندارد و همچنین بلعکس، اگر طراح قالب بخواهد دوباره قالب سایت را بازسازی نماید، اینکار هیچ تاثیری روی اجزای منطقی سایت نخواهد داشت. بنابراین برنامه نویس می تواند اجزاء منطقی سایت را بدون سازماندهی و طراحی قالب تغییر دهد، و طراح قالب می تواند قالب را بدون اینکه اجزاء منطقی تغییری کند ویرایش نماید.

چیزهایی که شامل Template ما می شود، تغییرات جداول، رنگ ردیفها، حروف بزرگ و کوچک متغیرها، حلقه ها در داده های آرایه و نمایش آنها و غیره که همگی مثالهای نمایش منطقی سایت می باشند.

یکی از خصوصیت بارز Smarty کامپایل Template است. یعنی اینکه Smarty فایلهای قالب را می خواند و از آنها اسکریپتی می سازد. به اندازه یک مرتبه ساخته می شوند و سپس از روی آنها اجرا می شوند.

پس Smarty یک موتور هوشمند برای قالب سازی پیشرفته جهت سایت است. Smarty با امکان جداکردن فرمت یا قالب نمایش از منطق برنامه که با زبان PHP نوشته شده است، شما را قادر خواهد ساخت که به شکلی راحتتر سایت خود را جهت نمایش یا منطق برنامه گسترش دهید. و سایت شما جهت تغییرات از انعطاف پذیری بیشتری برخوردار خواهد بود. حتی با استفاده از این تکنولوژی شما می توانید قسمت نمایش را خودتان انجام دهید و قسمت نوشتن منطق برنامه را به دیگری بسپارید. درحقیقت اگر شما برنامه نویسی PHP را میدانید می توانید به راحتی با استفاده از ماژول های Smarty این قابلیت ها را به سایت خود اضافه نمایید. این تکنولوژی در وب از سرعت زیادی برخوردار است و کدهای HTML نوشته شده برای فرمت سایت را به سرعت به کدهای PHP کامپایل میکند . اینکار فقط یکبار انجام می شود و در صورت هرگونه تغییر مجدد در کد نمایش ، Smarty تنها تغییرات ایجاد شده را کامپایل میکند.

بعضی خصوصیتهای Smarty:

– آن بشدت سریع می باشد.

– تا زمانی که در PHP خطایی رخ نداده باشد، آن مفید می باشد.

– فقط یکبار کامپایل می شود.

– آن در زمینه دوباره کامپایل کردن هوشمند می باشد و فقط فایلهایی را که تغییر کرده اند را دوباره کامپایل می نماید.

– شما می توانید توابع سفارشی و یا متغیرهای ویرایشگر استفاده کنید، بنابراین قالبها قالب انعطاف پذیری پیدا می کنند.

– قالب ها با استفاده از تگهای حائل (delimiter tag) یعنی {} ، {{}} ، <—{}–!> قابل پیکربندی می باشند.

– ساختارهای if/elseif/else/endif در عبارات PHP گذاشته می شوند، یعنی عبارت {if …} می تواند ساده و یا پیچیده باشد.

– می توان بخش ها مثل if ها و غیره را بصورت تودرتو گذاشت.

– می توان کدهای PHP را در فایلهای Template درون سازی نمود، اگر چه اینکار احتیاجی نیست و توصیه هم نمی شود.

احتیاجات:

برای استفاده از Smarty به PHP نسخه 4.0.6 و یا بالاتر نیاز است.

نصب Smarty:

برای نصب کتابخانه Smarty در زیر دایرکتوری /libs/ قرار می گیرد. آنها فایلهای PHP هستند که نباید ویرایش شوند. آنها بین همه اجزاء در ارتباط می باشند.

توجه داشته باشید که فولدر libs را در هر جایی می توانید استفاده کنید و باید در کدهای خود با توجه به مسیر libs بنویسید.

Smarty از یک ثابتی به نام SMARTY_DIR استفاده می کند مسیر کامل دایرکتوری /libs/ را شامل می شود. اساسا اگر شما بتوانید فایل Smarty.class.php را پیدا کنید، شما احتیاجی به تنظیم SMARTY_DIR نخواهید داشت. بنابراین Smarty.class.php مسیر include_path و یا ذخیره کامل مسیر اجزاء شما را ندارد. شما فقط باید SMART_DIR را تنظیم نمایید.(مسیر SMARTY_DIR حتما باید با اسلش پایان یابد.)

One Comment

  1. آواتار وب ایکسووب ایکسو پاسخ

    عالی بود، ممنون اخبی

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

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