Smarty

Screenshot Software:
Smarty
Szczegóły programowe:
Wersja: 3.1.5
Filmu: 11 May 15
Licencja: Wolny
Popularność: 1

Rating: nan/5 (Total Votes: 0)

Smarty w rzeczywistości nie jest "Template Engine", to będzie bardziej dokładnie opisane jako "Szablon / ram prezentacji." Oznacza to, że zapewnia programista i projektant szablonu z bogactwem narzędzi do automatyzacji zadań często rozpatrywane na warstwy prezentacji aplikacji. Podkreślam słowo Framework, ponieważ nie jest Smarty tag zastępując proste szablon silnika. Mimo, że może on być stosowany do takiego prostego celu, jego celem jest szybkie i bezbolesne rozwoju i wdrażania aplikacji, przy jednoczesnym zachowaniu wysokiej wydajności, skalowalności, bezpieczeństwa i przyszłego wzrostu.
Więc jest Smarty dla Ciebie? Co sprowadza się do jest za pomocą odpowiedniego narzędzia do pracy. Jeśli chcesz prostą zmienną wymianę, może warto spojrzeć na coś prostszego, a nawet rolki własne. Jeśli chcesz solidne ramy szablonów z licznych narzędzi, aby pomóc jak aplikacja przekształca się w przyszłości, prawdopodobnie Smarty dobry wybór.
Dlaczego warto z niej korzystać?
Jednym z głównym celów projektowych Smartys jest ułatwienie oddzielenie kodu aplikacji od prezentacji. Zazwyczaj kod aplikacji zawiera logikę biznesową aplikacji, napisanej i utrzymywane w kodzie PHP. Kod ten jest utrzymywany przez programistów. Prezentacja jest sposobem treść jest przedstawiona do użytkownika końcowego, co jest napisane i utrzymywane w plikach szablonów. Szablony są utrzymywane przez projektantów szablonów.
W swojej najbardziej podstawowej funkcji, kod aplikacji zbiera treści, przypisuje go do silnika szablonów i wyświetla je. Zawartość może być coś jak nagłówek, slogan, autora i ciała artykułu prasowego. Kod aplikacji nie ma obawy, jak to będzie przedstawione treści w szablonie. Projektant szablon jest odpowiedzialny za prezentację. Oni edytować pliki szablonów, dodawanie znaczników i dostosowanie go do końca. To zazwyczaj obejmuje takie rzeczy jak znaczniki HTML, kaskadowych arkuszy stylów i innych narzędzi dostarczonych przez silnik szablonu.
Ten paradygmat służy kilku celom:
) Projektanci nie mogą się złamać kod aplikacji. Mogą one bałagan z szablonów wszyscy chcą, ale kod pozostaje nienaruszona. Kod będzie mocniej, bardziej bezpieczne i łatwiejsze w utrzymaniu.
) Błędy w szablonach są ograniczone do tych procedur usuwania błędów Smartys, co czyni je tak proste i intuicyjne, jak to możliwe dla projektanta.
) Z prezentacji na osobnej warstwie, projektanci mogą zmodyfikować lub całkowicie przeprojektować go od podstaw, a wszystko to bez interwencji programisty.
Programiści nie są) niepożądanym szablonów. Mogą go o utrzymaniu kodu aplikacji, zmieniając sposób treści są nabywane, tworzenia nowych reguł biznesowych, itp bez naruszania warstwy prezentacji.
Szablony są) blisko reprezentacji, co będzie ostateczne wyjście, które jest intuicyjne podejście. Projektanci nie obchodzi, jak dostał się do treści szablonu. Jeśli masz obce dane w szablonie takie jak SQL, to otwiera ryzyko złamania kodu aplikacji przez przypadkowym usunięciem lub zmianą przez projektanta.
) Nie otwierają swój serwer do wykonania dowolnego kodu PHP. Smarty posiada wiele funkcji zabezpieczeń wbudowanych w nie tak projektantów naruszenia bezpieczeństwa, czy to zamierzone czy przypadkowe. Mogą to zrobić tylko to, co ogranicza w szablonach.
Mimo, że kod aplikacji jest oddzielona od przedstawienia, to nie oznacza to koniecznie, że logika oddzielono. Kod aplikacji oczywiście ma logiki, ale może mieć logiki szablony oparte pod warunkiem, że jest to tylko przedstawienie. Na przykład, jeśli projektant chce alternatywna tabela kolorów wiersz lub dużych liter niektóre przypisane treści, mogą. To jest logika prezentacji, coś programista nie powinien się zajmować. Jak często się niektórych prezentacji wyświetlane w jednej kolumnie, a następnie chciał go w dwóch lub trzech kolumnach, więc kod aplikacji potrzebuje regulacji, aby pomieścić to? Lepszym rozwiązaniem jest przypisanie zawartości w jednej tablicy i pozwól szablonu obsługi prezentacji. To uproszczenie aplikacji i zachować swoje szablony elastyczne. Smarty dostarcza narzędzi do obsługi tego typu sytuacji.
To nie znaczy, że Smarty uniemożliwia wprowadzenie logiki aplikacji w szablonie, trzeba mieć trochę samodyscypliny. Oto przykład osadzenie logiki biznesowej w szablonie (to prawda, uniknąć w ten sposób, jeśli w ogóle jest to możliwe):
{If $ smarty.session.user i ($ user_type eq "redaktor" lub $ user_type eq "admin")}
edytuj
{/ If}
Kontrole logiczne, jeśli użytkownik jest zalogowany i są one albo redaktor lub administrator, a następnie są one dopuszczone do edytowania tego tak pojawia się pole edycji. To logiczne, że należy w kodzie aplikacji. Szablon nie dba o to, co użytkownik ma poświadczenia, to po prostu musi wiedzieć, czy pole edycji jest wyświetlany, czy nie! Więc spójrzmy na bardziej odpowiedniego podejścia:
{If $ edit_flag}
edytuj
{/ If}
To do programisty aplikacji do przypisania $ edit_flag, proste i łatwe do zrozumienia zmiennej w szablonie. W ten sposób szablon nie jest już opierając się na swojej podstawowej struktury danych. Jeśli format struktury danych sesja się nie zmienia, nic nie musi być regulowana w szablonie.
Teraz spójrzmy na kilka rzeczy, które możesz zrobić z Smarty. Jedną z rzeczy, może to zrobić, to funkcje niestandardowe. Są to znaczniki w szablonie, które realizują pewne zadanie. Przykład:
{Plik html_image = "masthead.gif"}
Tutaj mamy funkcję o nazwie "html_image". Funkcja ta zajmuje obraz podany w atrybucie "file" i nie wszystkie prace niezbędne do wystąpienia z poniższego kodu HTML:

Funkcja obrazu nie chore na zastanawianie się wysokość i szerokość i dostarczanie flagi domyślne granic. Oczywiście, można po prostu użyć statycznej tag HTML w szablonie, a nie, ale to pokazuje, jak funkcja niestandardowej można wykorzystać do uproszczenia bardzo często zadanie. Projektant może skupić się na projektowaniu, a mniej na technicznych rzeczy. Ponadto, jeśli projektant zdecyduje się upuścić w innym rozmiarze masztowego obrazu, szablon nie wymaga regulacji.
html_image to funkcja, która pochodzi z Smarty. Można również tworzyć własne funkcje niestandardowe. Oto kolejny przykład tego, co można by wyglądać tak:
{Type html_link = "artykuł" id = "abc123" text = "Ogień wyjmuje Hotel"}
To jest za pomocą funkcji niestandardowej nazwie "html_link". Pochodzi z poniższego kodu HTML:
Ogień wyjmuje Hotel
Co to osiągnąć? Z jednej strony, projektant nie musi być związane z formatu URL do artykułu. Z zakodowane adresy URL, co się stanie, jeśli jeden dzień programista zdecyduje się czyszczenia rzeczy i zmienia składnię adresu URL z /display_article.php?id=abc123 do / ART / abc123? Musielibyśmy edytować każdy szablon z URL artykułu. Jest to kolejny przykład tego, jak można zrobić szablon funkcji szablonów łatwiejsze w utrzymaniu.
Teraz na trochę na programistów i szablonów. Wcześniej wspomniano, że programista nie ma opieki dla co zrobić z szablonów treści. Pod względem koncepcyjnym jest to prawda, ale w realnym świecie nie będziemy oczekiwać projektanta szablonów, aby zbudować wszystkie szablony z powietrza. Po tym wszystkim, logika biznesowa ma określić, jakie treści są przypisane do szablonów. Tak więc, programista zazwyczaj szkielet dla konfiguracji szablonów projektanta na początek. Zwykle zawiera surowe elementy, takie jak zmienne treści i pętli sekcji, a może kilku prostych znaczników znaczników więc nie zacząć od zawartości w wielkim bałaganie. Oto przykład szablonu szkielet pętlę poprzez listę artykułów i wyświetla je w tabeli:


Sekcja = {name = $ pętli sztuki artykuł}


{/ Section}
{$ artykule [sztuki] .headline}
{$ artykule [sztuki] .date}
{$ artykule [sztuki] .author}

Wyjście może wyglądać tak:







Jak zdobywano Dziki Zachód
02 grudzień 1999
John Wayne
traci drużyny, trener odchodzi
02 lutego 2002
Jan Kowalski
Gourmet Gotowanie
23 stycznia 1954
Betty Crocker

Teraz na najczęściej zadawane pytania:
Dlaczego w ogóle użycia szablonów? Co jest trudne o pisaniu Zamiast {$ title}?
Dokonywanie rzeczy łatwiej odczytać nie było celem projektu, ale raczej efekt uboczny. Korzystanie z szablonów ma ogromne korzyści, z których wiele zostało wyjaśnione powyżej. Ponieważ jesteśmy w środowisku szablonu każdym razie, {$ title} jest mniej obcy niż , Zwłaszcza po uruchomieniu patrząc na to w długich stron treści, więc było całkiem oczywiste, że prostsze składni pomaga uczynić szablony łatwiejsze do odczytania i utrzymania.
Szablon czasu, by przeanalizować, co aplikacje znacznie wolniej.
To może być prawdą w niektórych przypadkach, ale z Smarty nie jest wolniejsze niż wykonywanie skryptu PHP. Na pierwszym wykonanie szablonu Smarty konwertuje pliki szablonów do skryptów PHP (zwany szablon kompilacji.) Następnie skrypt PHP jest po prostu włączone. Para to z akceleratora PHP i naprawdę mają szybki środowiska szablonów z minimalnym wysiłku.
Smarty jest zbyt skomplikowane, jak to może być, że szybko?
Rdzeń Smarty jest dość chude biorąc pod uwagę to, co jest w stanie. Większość z jego funkcjonalności leży w wtyczek. Architektura wtyczki jest zaprojektowana tak, że tylko wymagane wtyczki są ładowane na żądanie. Z tych ramach, dodając nawet setki nowych wtyczek nie będą wpływać na wydajność. To sprawia, że ​​Smarty szybkie, skalowalne i elastyczne.
Smarty posiada również funkcje buforowania, które mogą dynamicznie odświeżyć i zachować części strony uncached do Państwa potrzeb. Pamięć podręczna przechowuje wyjście z opracowanych szablonów, oszczędzając konieczności wykonywania ich na każdym wywołaniu.
Całe to gadanie o akceleratorów, w jaki sposób działać bez jednego Smarty?
Właściwie to działa całkiem dobrze bez niego. Smarty nie wymaga akceleratora, ale sami plików szablonu skorzystać z jednej, coś, co jest unikalne dla Smarty (AFAIK). Jeśli nie masz akceleratora, wykonanie szablonu jest nie tak szybko, ale nie wolno w jakikolwiek sposób, ponieważ nie są one analizowane! Możesz także zachować wszystkie inne korzyści i cechy Smarty. Ponadto, ponieważ akceleratory są swobodnie dostępne tam naprawdę nie jest pretekst, aby nie używać jednego. Pomogą wydajność z wszystkich aplikacji PHP przy użyciu Smarty czy nie.
Jak to może być łatwiejsze do utrzymania?
Niektóre rzeczy nie da się wytłumaczyć, ale tylko doświadczył. Zaletą oddzielenia logiki aplikacji od prezentacji nie można podkreślić. Smarty posiada również kilka ciekawych funkcji, obsługa błędów i wbudowanym konsoli debugowania, dzięki czemu można zobaczyć heirarchy szablon i przypisane zmienne na pierwszy rzut oka. Dodawanie niestandardowych funkcji do Smarty jest tak proste jak upuszczając je w katalogu wtyczek i wspomnieć je w szablonie.
Tagi szablonu XML nie są oparte Mój redaktor nie podoba.
W {} ograniczniki są tylko domyślne, są one łatwe do rozeznania wśród znaczników HTML. Jeśli ich nie lubię, ograniczniki, aby zmienić coś więcej, a może jak Istnieje XMLish również wiele Wkład użytkownika Dreamweaver i jak, dać im spojrzeć w obszarze edycje.
To Smarty w skrócie, mam nadzieję, że można go dodać do arsenału narzędzi do tworzenia aplikacji internetowych. Aby naprawdę dowiedzieć się więcej, przeczytaj instrukcję od góry do dołu, dołączyć do forum i zobaczyć, co ludzie dyskutują

Opis .

  • Pamięć podręczna: Smarty zapewnia drobnoziarnistych możliwości buforowania do buforowania całości lub części jest renderowane strony, czy pozostawienie części uncached. Programiści mogą zarejestrować funkcje szablonów jak Cacheable lub nie cachable, grupy na jednostki pamięci podręcznej stron logicznych łatwiejsze zarządzanie, itp.
  • Pliki konfiguracyjne: Smarty można przypisać zmienne przesunięte z plików konfiguracyjnych. Szablon projektanci mogą utrzymać wartości wspólnych dla kilku szablonów w jednym miejscu, bez interwencji programisty, a zmienne konfiguracyjne można łatwo udostępniać pomiędzy częściami programowania i prezentacji aplikacji.
  • Zabezpieczenia: Szablony nie zawierają kod PHP. Dlatego projektant szablon nie jest uwolniona z pełną mocą PHP, ale tylko podzbiór funkcjonalności udostępnione im z programatora (kod aplikacji).
  • Łatwy w obsłudze i konserwacji: projektanci stron WWW nie chodzi o składnię kodu PHP, lecz łatwe w użyciu składni szablonów nie wiele różni się od zwykłego HTML. Szablony są bardzo blisko przedstawienie ostatecznego wyjścia, znacznie skracając cykl projektowania.
  • Modyfikatory: o zmiennej treści przypisanych zmiennych można łatwo regulować w czasie wyświetlania z modyfikatorów, takich jak wyświetlanie we wszystkich wielkich liter, html-uciekł, formatowanie daty, obcinanie bloki tekstu, odstępy między znakami, dodając, itp Znowu osiąga się to bez interwencji programisty.
  • Szablon Funkcje: Wiele funkcji dostępnych dla projektanta szablonów do obsługi zadań, takich jak generowanie kodu HTML (segmenty listy rozwijanej, stoły, pop-upy, etc.), wyświetlanie zawartości z innych szablonów w-line, zapętlenie nad tablicami treści , formatowanie tekstu dla wyjścia e-mail, na rowerze, choć kolory, itp.
  • Filtry:. Programista ma pełną kontrolę nad wyjściem szablonu i szablonu zawartości skompilowany z filtrów wstępnych, filtrów i post-filtrów wyjściowych
  • Zasoby:. Szablony można wyciągnąć z dowolnej liczby źródeł, tworząc nowe procedury obsługi zasobów, a następnie za pomocą ich w szablonach
  • Wtyczki: Prawie każdy aspekt Smarty jest kontrolowana poprzez użycie wtyczek. Na ogół są one tak proste, jak upuszczając je do katalogu wtyczek, a następnie wymienić je w szablonie lub korzystania z nich w kodzie aplikacji. Wielu uczestników społeczności użytkownika są również dostępne. (Zobacz sekcję wtyczek z forum i wiki).
  • Dodatki: Wiele społeczności mamy dla użytkownika dodatki są dostępne, takich jak podział na strony, Walidacja formularza, rozwijanego menu, Calander Data Pickers itp Narzędzia te pomagają przyspieszyć cykl rozwoju, nie ma potrzeby, aby ponownie wymyślać koła lub debugowania kodu, który jest już stabilny i gotowy do wdrożenia. (Patrz sekcja dodatków z forum i wiki).
  • Debugowanie. Smarty jest wyposażony w wbudowaną konsolę debugowania szablonu tak projektant może zobaczyć wszystkie przypisane zmienne i programista może zbadać szablonów renderowania prędkości
  • Kompilacja:. Smarty kompiluje szablony do kodu PHP za kulisami, eliminując w czasie wykonywania analizowania szablonów
  • Wydajność: Smarty wykonuje bardzo dobrze, pomimo ogromnego zestawu funkcji. Większość możliwości Smarty leżą w wtyczek, które są ładowane na żądanie. Smarty jest wyposażony w liczne narzędzia do tworzenia prezentacji, minimalizując kod aplikacji i powoduje szybsze, mniej podatne na błędy aplikacji rozwoju / wdrożenia. Szablony Smarty PHP się skompilowany do plików wewnętrznie (raz), eliminując kosztowne skanowanie plików szablonu i wykorzystując szybkość op-kodu PHP akceleratorów.

Co nowego w tym wydaniu:

  • przywrócić bardzo globalne zmiany dostępu, a zamiast polegać na USE_SUPER_GLOBALS dla bezpieczeństwa

Co nowego w wersji 6.2.23:

  • backticks taśmy z matematyki} {równań (mohrt)
  • Błąd rzut gdy szablon istnieje, ale nie do odczytu (mohrt)

Co nowego w wersji 2.6.22:

  • Ta wersja rozwiązuje problem napotkany z Smarty 2.6 0,21 zwalniający i PCRE błąd silnika w PHP 5.2. Metoda łańcuchowym została usunięta, aby uniknąć błędów. Metoda łańcuchowym ponownie pojawić się w Smarty 3.

Inne programy z deweloperem New Digital Group, Inc.

Smarty

13 Apr 15

Komentarze do Smarty

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!