Smarty

نرم افزار تصویر:
Smarty
جزئیات نرم افزار:
نسخه: 3.1.5
ها تاریخ: 11 May 15
توسعه دهنده: New Digital Group, Inc.
پروانه: رایگان
محبوبیت: 1

Rating: nan/5 (Total Votes: 0)

ناقلا است که در واقع یک "موتور الگو"، این امر می تواند با دقت بیشتری به عنوان یک توصیف "الگو / ارائه چهارچوب." این است که، آن را فراهم برنامه نویس و طراح قالب با تعداد زیادی از ابزار به طور خودکار وظایف معمولا با در لایه ارائه یک برنامه کاربردی پرداخته است. من استرس چارچوب کلمه به دلیل ناقلا است قالب موتور تگ جایگزین ساده نیست. اگر چه می توان آن را برای چنین هدف ساده استفاده می شود، تمرکز خود را بر روی توسعه و استقرار برنامه شما سریع و بدون درد، در حالی که حفظ عملکرد بالا، مقیاس پذیری، امنیت و رشد آینده است.
بنابراین سمت راست ناقلا برای شما می باشد؟ آنچه در آن پایین می آید به است با استفاده از ابزار مناسب برای این کار. اگر می خواهید جایگزین ساده متغیر، شما ممکن است بخواهید به چیزی ساده تر نگاه و یا حتی رول خود را. اگر می خواهید یک چارچوب قالب قوی با ابزار های متعدد به شما کمک به عنوان درخواست خود را تکامل می یابد به آینده، ناقلا است به احتمال زیاد انتخاب خوبی است.
و چرا از آن استفاده کنید؟
یکی از اهداف Smartys طراحی اولیه است به منظور تسهیل جدایی از کد برنامه از ارائه. به طور معمول، کد برنامه شامل منطق کسب و کار از درخواست شما، نوشته شده است و نگهداری در کد PHP. این کد توسط برنامه نویسان داشت. ارائه راه مطالب خود را به کاربر نهایی، که نوشته شده است و نگهداری در پرونده های پوسته ارائه شده است. قالب توسط طراحان قالب داشت.
در بسیاری از عملکرد اولیه آن، کد برنامه جمع آوری محتوا، آن را به قالب موتور اختصاص و آن را نمایش می دهد. محتوای ممکن است چیزی شبیه به تیتر، شعار، نویسنده و بدن یک مقاله روزنامه. کد نرم افزار دارای هیچ نگرانی چگونه این محتوا خواهد شد در قالب معرفی شده اند. طراح قالب مسئول ارائه است. آنها ویرایش فایل های قالب، اضافه کردن نشانه گذاری و آوردن آن به اتمام. این به طور معمول شامل چیزهایی مانند تگ های HTML، شیوه نامه آبشاری و ابزار دیگر ارائه شده توسط قالب موتور.
این پارادایم در خدمت مقاصد مختلف:
) طراحان می توانند کد برنامه را پاره کند. آنها می توانند ظرف غذا را با قالب های همه آنها می خواهند، اما دست نخورده باقی می ماند کد. کد تنگ تر، امن تر و راحت تر به حفظ خواهد شد.
) خطاها در قالب به Smartys رفع خطا روال محدود، آنها را به عنوان ساده و شهودی که ممکن است برای طراح.
) با ارائه بر روی لایه خود را، طراحان می توانند تغییر دهید و یا به طور کامل دوباره طراحی آن، از ابتدا، همه بدون دخالت از برنامه نویس.
) برنامه نویسی با قالب خراب نیست. آنها می توانند در مورد حفظ کد برنامه، تغییر محتوای راه است به دست آورد، و قوانین کسب و کار جدید، و غیره بدون اخلال در لایه ارائه بروید.
) قالب ها بازنمود نزدیک از آنچه که خروجی نهایی خواهد شد، که یک رویکرد بصری. طراحان مهم نیست که چگونه محتوای کردم به الگو. اگر شما داده های اضافی در قالب مانند یک بیانیه SQL، این خطر شکستن کد برنامه های حذف تصادفی یا تغییر توسط طراح باز می شود.
) شما سرور خود را به اجرای کدهای PHP دلخواه باز کردن نیست. ناقلا دارای ویژگی های امنیتی بسیاری از ساخته شده در طراحان تا امنیت را نقض نکرده است که آیا عمدی یا اتفاقی. آنها فقط می توانند انجام آنچه آنها را به در قالب محدود.
اگر چه کد برنامه از ارائه از هم جدا، این لزوما به این معنی نیست که منطق جدا شده است. کد برنامه واضح است منطق، اما ممکن است قالب منطق بر اساس شرایط که آن را تنها برای ارائه داشته باشد. برای مثال، اگر طراح می خواهد جایگزین رنگ سطر جدول و یا حروف برخی از مطالب اختصاص داده، آنها می توانند. این منطق ارائه، چیزی است که برنامه نویس باید با نگران نمی شود. چگونه اغلب شما به حال برخی از ارائه در یک ستون نمایش داده و سپس شما آن را در دو یا سه ستون می خواست، تا کد برنامه نیاز به تنظیم به جای این؟ یک رویکرد بهتر است به او واگذار محتوا در یک آرایه تک و اجازه دهید الگو رسیدگی به ارائه. این تقاضای شما را ساده و انعطاف پذیر نگه داشتن قالب شما. ناقلا تامین ابزار برای رسیدگی به این نوع از وضعیت.
این به این معنا نیست که ناقلا شما مانع از قرار دادن منطق برنامه در قالب، شما باید کمی از نظم و انضباط خود. در اینجا یک مثال از تعبیه منطق کسب و کار در قالب (که درست است، اجتناب از انجام این اگر در همه ممکن) است:
{اگر $ smarty.session.user و ($ user_type معادله "سردبیر" و یا $ user_type معادله "مدیریت")}
<نوع ورودی = ارزش نام چک باکس = ویرایش = "Y"> ویرایش <برزیلی>
{/ اگر}
چک منطق اگر کاربر به سیستم وارد، که یا یک ویرایشگر و یا مدیر، سپس به آنها اجازه ویرایش این طوری ویرایش چک باکس را نشان می دهد تا. که منطق که متعلق به کد برنامه است. این الگو در مورد آنچه اعتبار اهمیتی نمی این کاربر دارد، آن را فقط نیاز به دانستن اگر جعبه ویرایش نمایش داده می شود یا نه! بنابراین اجازه دهید در یک رویکرد مناسب تر نگاه کنید:
{اگر $ edit_flag}
<نوع ورودی = ارزش نام چک باکس = ویرایش = "Y"> ویرایش <برزیلی>
{/ اگر}
آن را به برنامه نویس برنامه را به او واگذار $ edit_flag، ساده و آسان به درک متغیر در قالب است. به این ترتیب الگو است با تکیه بر ساختار دیگر داده های اساسی خود را. اگر قالب ساختار داده را وارد نمایید تا به حال تغییر، هیچ چیز نیاز به در قالب تنظیم شود.
در حال حاضر اجازه می دهد تا در چند چیز شما می توانید با ناقلا انجام است. یک چیز می تواند انجام توابع سفارشی است. از این برچسب ها در قالب که اجرا یک کار خاص می باشد. به عنوان مثال:
{فایل html_image = "masthead.gif"}
در اینجا ما یک تابع به نام "html_image". این تابع تصویر داده شده در "پرونده" صفت طول می کشد و از تمام کار لازم به آمده تا با کد HTML زیر است:
به
تابع تصویر کارهای عادی و روزمره از بدانند ارتفاع و عرض و تامین پرچم مرزی به طور پیش فرض انجام داد. البته شما فقط می تواند با استفاده از تگ HTML استاتیک در قالب به جای آن، اما این نشان می دهد که چگونه یک تابع سفارشی را می توان مورد استفاده برای ساده سازی کار بسیار رایج است. طراح می تواند در طراحی و کمتر بر روی مسائل فنی تمرکز می کنند. علاوه بر این، اگر طراح تصمیم می گیرد به رها کردن در یک تصویر متفاوت سرصفحه اندازه، این الگو اندازی نیاز ندارد.
html_image یک تابع است که همراه با ناقلا است. شما همچنین می توانید توابع سفارشی خود را. در اینجا نمونه ای دیگر از آنچه که ممکن است شبیه این است:
{نوع html_link = "مقاله" شناسه = "abc123" متن = "آتش را بیرون می کشد هتل"}
این از یک تابع سفارشی به نام "html_link". این می آید تا با کد HTML زیر است:
از آتش را بیرون می کشد هتل
این به چه انجام؟ برای یکی، طراح نیازی به با فرمت یک URL به یک مقاله مربوط می شود. با URL سخت رمزی، چه اتفاقی می افتد اگر یک روز برنامه نویس تصمیم می گیرد برای تمیز کردن کارها، و تغییر نحو URL را از /display_article.php؟id=abc123 به / ART / abc123؟ ما را مجبور به ویرایش هر قالب با URL مقاله است. این فقط یک مثال از چگونگی یک تابع الگو می توانید از قالب راحت تر به حفظ می کند.
در حال حاضر برای یک بیت در قالب برنامه نویسان و. قبل از آن ذکر شد که برنامه نویس ندارد برای مراقبت از آنچه را که قالب با محتوای انجام دهد. در سطح مفهومی این درست است، اما در دنیای واقعی شما نمی خواهید به انتظار طراح قالب به برای ساخت تمام قالب ها از هوا نازک. پس از همه، منطق کسب و کار می کند تعیین کند چه محتوا به قالب اختصاص داده است. بنابراین، برنامه نویس به طور معمول اسکلت راه اندازی قالب برای طراح برای شروع با. این معمولا حاوی عناصر خام مانند متغیرهای محتوا و حلقه بخش، و شاید چند چسب های نشانه گذاری ساده به طوری که آنها با محتوای در ظروف سرباز یا مسافر بزرگ شروع می شود. در اینجا یک مثال از یک قالب اسکلت که حلقه را از طریق یک لیست از مقالات و نمایش آنها در یک جدول است:


{نام بخش = حلقه هنر = $} مقاله


{/ بخش}
{$ مقاله [هنر] .headline}
{$ مقاله [هنر] .date}
{$ مقاله [هنر] .author}

خروجی ممکن است چیزی شبیه به این:







غرب چگونه برنده شد
1999 دسامبر 2
جان وین
تیم از دست می دهد، مربی واریز
2002 فوریه 2
جان اسمیت
آشپزی خوراک شناس
1954 ژانویه 23
بتی کراکر

در حال حاضر برای برخی از سوالات رایج:
چرا استفاده از در همه قالب ها؟ چه شده است تا در مورد نوشتن <سخت؟ اکو $ عنوان. ؟ > به جای {$} عنوان؟
ساخت چیزهای ساده تر برای خواندن یک هدف طراحی نشده است، اما بیشتر از یک اثر جانبی. با استفاده از قالب دارای مزایای بزرگ، که بسیاری از آنها در بالا توضیح داده شده است. ؟ از آنجا که ما در یک محیط قالب به هر حال هستند، {$} عنوان کمتر از غیر اصلی اکو پی اچ پی <$ عنوان شده است. ؟ >، به ویژه هنگامی که شما شروع به نگاه کردن به آن در صفحات طولانی از محتوا، پس از آن بسیار مشهود بود که یک دستور ساده تر کمک می کند تا قالب ساده تر برای خواندن و حفظ کند.
الگو وقت به تجزیه، و برنامه های کاربردی بسیار کندتر است.
که ممکن است در برخی از موارد درست است، اما با ناقلا آن است که آهسته تر از اجرای یک اسکریپت PHP. در مورد اعدام برای اولین بار از یک الگو، ناقلا تبدیل فایل های قالب را به اسکریپت PHP (به نام قالب کامپایل.) پس از آن، اسکریپت پی اچ پی تنها گنجانده شده است. زن و شوهر این کار را با یک شتاب دهنده PHP و شما واقعا یک محیط قالب سریع با حداقل سربار.
ناقلا بیش از حد پیچیده است، چگونه می تواند از آن باشد که سریع؟
هسته ناقلا خیلی لاغر است با توجه به آنچه در آن قادر است. بسیاری از قابلیت های آن نهفته است در پلاگین. معماری پلاگین طراحی شده است به طوری که تنها پلاگین مورد نیاز در تقاضا لود می شود. با استفاده از این چارچوب، با اضافه کردن حتی صدها پلاگین های جدید خواهد شد و عملکرد تاثیر نمی گذارد. این باعث می شود ناقلا سریع، مقیاس پذیر و قابل انعطاف است.
ناقلا همچنین دارای ویژگی های ذخیره که به صورت پویا می تواند تازه و نگه داشتن بخش هایی از صفحه ذخیرهنشده در میل خود. ذخیره ساز فروشگاه خروجی از قالب وارد شده، صرفه جویی در نیاز به آنها را اجرا بر روی هر فراخوانی.
همه این بحث در مورد شتاب دهنده، چگونه ناقلا اجرا بدون؟
در واقع آن را به خوبی اجرا می شود بدون آن. ناقلا کند شتاب دهنده نیاز ندارد، اما قالب فایل خود خواهد شد استفاده از یک را، و این چیزی است که منحصر به فرد به ناقلا (AFAIK). اگر شما یک شتاب دهنده را نداشته باشند، الگو اعدام است به عنوان سریع نیست اما به هر وسیله نمی کند چرا که آنها در حال تجزیه نیست! شما همچنین حفظ تمام مزایای و ویژگی های ناقلا دیگر. همچنین، از آنجایی شتاب دهنده آزادانه در دسترس است وجود دارد واقعا نمی بهانه ای نمی شود با استفاده از یکی. آنها عملکرد با تمام برنامه های PHP کمک، با استفاده از ناقلا یا نه.
چگونه می توان راحت تر به حفظ آن می شود؟
برخی از چیزهایی که نمی توان توضیح داد، اما تنها تجربه. به نفع جدایی از منطق برنامه را از ارائه نمی تواند به اندازه کافی تاکید کرد. ناقلا همچنین دارای برخی از ویژگی های رفع خطا خوب و ساخته شده است در اشکال زدایی کنسول بنابراین شما می توانید قالب heirarchy را ببینید و اختصاص داده متغیر در یک نگاه. اضافه کردن ویژگی های سفارشی را به ناقلا به آسانی به عنوان حذف آنها را در پوشه پلاگین و ذکر آنها را در قالب.
تگ های قالب می XML مبتنی نیست، ویرایشگر من آن را دوست ندارد.
{} جداکننده تنها به طور پیش فرض، آنها بسیار آسان است به تشخیص میان تگ HTML. اگر شما آنها را دوست ندارند، تغییر جداکننده خود را به یا شاید چیزی XMLish بیشتر شبیه همچنین تعداد زیادی از مشارکتهای کاربر برای Dreamweaver و مانند وجود دارد، آنها را نگاه در منطقه مشارکتها دهد.
که ناقلا است به طور خلاصه، امیدوارم شما می توانید آن را به زرادخانه خود را از ابزارها برای ساخت برنامه های تحت وب را اضافه کنید. واقعا کسب اطلاعات بیشتر، به عنوان خوانده شده بالای کتابچه راهنمای کاربر برای پایین، پیوستن به انجمن و ببینید چه چیزی مردم در حال بحث

ویژگی ها:.

ذخیره ساز: ناقلا فراهم می کند ویژگی های ذخیره دانه ریز برای ذخیره تمام یا بخش هایی از یک صفحه وب ارائه شده، یا ترک قطعات ذخیرهنشده. برنامه نویسان می توانند توابع قالب به عنوان cacheable یا غیر cachable، صفحات حافظه گروه به واحد منطقی برای مدیریت آسان تر، و غیره ثبت نام
فایلهای پیکربندی: ناقلا می تواند متغیر کشیده از فایل های پیکربندی اختصاص دهید. طراحان قالب می تواند ارزش های مشترک به چند قالب را در یک محل بدون دخالت از برنامه حفظ و متغیرهای پیکربندی به راحتی می توانید بین برنامه نویسی و ارائه بخش هایی از نرم افزار به اشتراک گذاشته شود.
امنیت: قالب کد PHP نیست. بنابراین، یک طراح قالب با قدرت کامل از PHP به هر طریقی نیست، اما تنها زیر مجموعه ای از قابلیت های از برنامه در دسترس به آنها ساخته شده (کد برنامه)
آسان برای استفاده و نگهداری: طراحان صفحات وب در برخورد با نحو کد PHP نیست، اما به جای نحو قالب آسان برای استفاده و بسیار متفاوت تر از HTML ساده نیست. قالب ها بازنمود بسیار نزدیک از خروجی نهایی، به طور چشمگیری کاهش چرخه طراحی.
اصلاح متغیر: محتوای متغیر اختصاص داده به راحتی می توان در صفحه نمایش زمان با اصلاح، مانند نمایش در تمام حروف تنظیم، HTML غیر فرار، قالب بندی خرما، کوتاه بلوک متن، اضافه کردن فضاهای بین شخصیت ها، و غیره باز هم، این است انجام، بدون مداخله از برنامه نویس.
توابع الگو: بسیاری از توابع موجود به طراح قالب برای رسیدگی به وظایف مانند تولید قطعات کد HTML (منو، جداول، پاپ آپ، و غیره)، نمایش محتوا از دیگر قالب ها در خط، حلقه آرایه ها از محتوا، قالب بندی متن برای خروجی پست الکترونیکی، دوچرخه سواری هر چند رنگ، و غیره
فیلترها: برنامه نویس کنترل کامل قالب خروجی و محتوای قالب وارد شده با پیش فیلتر، پس از فیلتر و خروجی فیلتر.
منابع: قالب را می توان از هر تعداد از منابع با ایجاد گرداننده منابع جدید، و سپس با استفاده از آنها را در قالب کشیده می شود.
پلاگین: تقریبا در هر جنبه از Smarty از طریق استفاده از پلاگین ها کنترل می شود. آنها به طور کلی به آسانی به عنوان حذف آنها را به دایرکتوری افزونه و پس از آن ذکر آنها را در قالب یا با استفاده از آنها را در کد برنامه. بسیاری از مشارکتهای کاربر جامعه نیز موجود است. (بخش پلاگین ها از انجمن و ویکی مراجعه کنید.)
افزودنیهای فایرفاکس: بسیاری از کاربر جامعه کمک افزودنیهای فایرفاکس مانند صفحه بندی، اعتبار سنجی فرم، منوهای کشویی، Calander چینان تاریخ، و غیره این ابزار کمک سرعت بخشیدن به چرخه توسعه در دسترس هستند، بدون نیاز به اختراع مجدد چرخ وجود دارد یا کد اشکال زدایی است که در حال حاضر با ثبات و آماده برای استقرار. (نگاه کنید به بخش افزودنیهای از انجمن و ویکی.)
اشکال زدایی: ناقلا همراه با ساخته شده است در کنسول اشکال زدایی بنابراین طراح قالب می تواند تمام متغیرهای اختصاص داده را مشاهده کنید و برنامه نویس می تواند الگو ارائه سرعت بررسی کند.
تدوین: ناقلا کامپایل به کد قالب پی اچ پی در پشت صحنه، از بین بردن زمان اجرا تجزیه الگو است.
عملکرد: ناقلا انجام بسیار خوب، با وجود مجموعه گسترده ای از ویژگی های آن است. بسیاری از قابلیت های ناقلا در پلاگین که بر روی تقاضا لود نهفته است. ناقلا همراه با ابزار ارائه متعدد، به حداقل رساندن کد برنامه خود را و در نتیجه سریعتر، کمتر مستعد اشتباه برنامه توسعه / استقرار. قالب ناقلا رسیدن به پی اچ پی فایل های داخلی (یک بار) وارد شده، از بین بردن هزینه اسکن قالب فایل و اعمال نفوذ، سرعت PHP شتاب دهنده OP-کد.

در چه در این نسخه جدید است:

برگرداندن تغییرات دسترسی فوق العاده جهانی، و به جای آن در USE_SUPER_GLOBALS برای امنیت تکیه

در نسخه 2.6.23 چه جدید است:

backticks نوار از {} ​​ریاضی معادلات (mohrt)
پرتاب خطا در هنگام الگو وجود دارد اما قابل خواندن نیست (mohrt)

به چه جدید در نسخه 2.6.22 است:

این آدرس آزادی با مشکل مواجه با ناقلا 2.6.21 آزادی و اشکال موتور PCRE در PHP 5.2. زنجیری شدن این روش برداشته شده است برای جلوگیری از اشکال. زنجیری شدن این روش در ناقلا 3 دوباره ظاهر می شود.

نرم افزار های دیگر از توسعه دهنده New Digital Group, Inc.

Smarty

13 Apr 15

نظرات به Smarty

نظر یافت نشد
اضافه کردن نظر
روشن کردن تصاویر!