Slovníček pojmů

AJAX

Asynchronous JavaScript and XML – technologie výměny informací mezi klientem a serverem přes HTTP protokol bez nutnosti znovunačtení celé stránky při každém požadavku. Ačkoliv by se mohlo z názvu zdát, že posílá data pouze ve formátu XML, běžně se používá také formát JSON.

Akce presenteru

Logická část presenteru, která vykonává jednu akci, například zobrazí stránku produktu, odhlásí uživatele apod. Jeden presenter může mít více akcí.

BOM

Tzv. byte order mark je speciální první znak v souboru, který se používá jako indikátor pořadí bajtů v kódování. Některé editory ho do souborů vkládají, je prakticky neviditelný, ale způsobuje problémy s odesíláním výstupu a hlaviček z PHP. K hromadnému odstranění můžete použít Code Checker.

Controller

Řadič, který zpracovává požadavky uživatele a na jejich základě pak volá patřičnou aplikační logiku (tj. model) a poté požádá view o vykreslení dat. Obdobou kontrolerů v Nette Frameworku jsou presentery.

Escapování

Escapování je převod znaků majících v daném kontextu speciální význam na jiné odpovídající sekvence. Příklad: do řetězce ohraničeného uvozovkami chceme zapsat uvozovky. Jelikož uvozovky mají v kontextu řetězce speciální význam a jejich prosté zapsání by bylo chápáno jako ukončení řetězce, je potřeba je zapsat jinou odpovídající sekvencí. Jakou přesně určují pravidla kontextu.

Filter (dříve helper)

V šablonách se pod pojmem filter obvykle rozumí funkce, které pomáhá upravit nebo přeformátovat data do výsledné podoby. Šablony disponují několika standardními filtry.

Invalidace

Oznámení snippetu, aby se překreslil. V jiném významu také smazání obsahu cache.

JSON

Formát pro výměnu dat vycházející ze syntaxe JavaScriptu (je její podmnožinou). Přesnou specifikaci najdete na stránce www.json.org.

Komponenta

Znovupoužitelná součást aplikace. Může to být vizuální část stránky, jak popisuje kapitola Píšeme komponenty, nebo se pod pojmem komponenta rozumí také třída Component (taková komponenta nemusí být vizuální).

Kontrolní znaky

Kontrolní znaky jsou neviditelné znaky, které se mohou vyskytovat v textu a případně i způsobovat problémy. K jejich hromadnému odstranění ze souborů můžete použít Code Checker, k odstranění z proměnné funkci Strings::normalize().

Latte

Jeden z nejpokrokovějších šablonovacích systémů.

Model

Model je datový a zejména funkční základ celé aplikace. Je v něm obsažena celá aplikační logika (používá se i termín byznys logika). Je to ono MMVC nebo MVP. Jakákoliv akce uživatele (přihlášení, vložení zboží do košíku, změna hodnoty v databázi) představuje akci modelu. Model si spravuje svůj vnitřní stav a ven nabízí pevně dané rozhraní. Voláním funkcí tohoto rozhraní můžeme zjišťovat či měnit jeho stav. Model neví o existenci view nebo controlleru.

Model-View-Controller

Softwarová architektura, která vznikla z potřeby oddělit u aplikací s grafickým rozhraním kód obsluhy (controller) od kódu aplikační logiky (model) a od kódu zobrazujícího data (view). Tím jednak aplikaci zpřehledňuje, usnadňuje budoucí vývoj a umožňuje testování jednotlivých části zvlášť.

Model-View-Presenter

Architektura, vycházející z Model-View-Controller.

Modul

Modul představuje v Nette Framework balíček presenterů a šablon, případně i komponent a modelů, které dodávají presenteru data. Je to tedy určitá logická část aplikace. Například e-shop může mít tři moduly:

  1. katalog produktů s košíkem
  2. administrace pro zákazníka
  3. administrace pro provozovatele

Namespace

Jmenný prostor, součást jazyka PHP od verze 5.3 a některých jiných programovacích jazyků, umožňující používání tříd, které jsou v různých knihovnách nazvány stejně, aniž by došlo ke kolizi jmen. Viz dokumentace PHP.

Presenter

Presenter je objekt, který vezme požadavek přeložený routerem z HTTP požadavku a vygeneruje odpověď. Odpovědí může být HTML stránka, obrázek, XML dokument, soubor na disku, JSON, přesměrování nebo cokoliv vymyslíte.

Obvykle se pod pojmem presenter myslí potomek třídy Nette\Application\UI\Presenter. Podle příchozích požadavků spouští odpovídající akce a vykresluje šablony.

Router

Obousměrný překládač mezi HTTP požadavkem / URL a akcí presenteru. Obousměrné znamená, že z HTTP požadavku lze odvodit akci presenteru, ale také obráceně k akci vygenerovat odpovídající URL. Více v kapitole o routování URL.

Snippet

Výstřižek, část stránky, kterou lze samostatně překreslit během AJAXového požadavku.

View

View, tedy pohled, je vrstva aplikace, která má na starost zobrazení výsledku požadavku. Obvykle používá šablonovací systém a ví, jak se má zobrazit ta která komponenta nebo výsledek získaný z modelu.