Glossary

AJAX

Asynchronous JavaScript and XML – technology for client-server communication over the HTTP protocol without the need for reload of the whole page during each request. Despite the acronym, JSON format is often used instead of XML.

Presenter action

Logical part of the presenter, performing one action, such as to show a product page, to sign out an user etc. One presenter can have more actions.

BOM

So called byte order mask is a special first character of a file and indicates byte order in the encoding. Some editors include it automatically, it's practically invisible, but it causes problems with headers and output sending from withing PHP. You can use Code Checker for bulk removal.

Controller

Controller processes requests from user and on their basis it calls particular application logic (ie. model), then it calls view for data rendering. Analogy to controllers are presenters in Nette Framework.

Escaping

Escaping is conversion of characters with special meaning in given context to another equivalent sequences. Example: We want to write quotes into quotes-enclosed string. Because quotes have special meaning in context of the quotes-enclosed string, there is a need to use another equivalent sequence. Concrete sequence is determined by the context rules (e.g. \" in PHP's quotes-enclosed string, " in HTML attributes etc.).

Filter (formerly Helper)

Filter function. In templates, filter is a function, that helps to alter or format data to the output form. Templates have several standard filters predefined.

Invalidation

Notice of a snippet to rerender. In other context also clearing of a cache.

JSON

Data exchange format based on JavaScript syntax (it's its subset). Exact specification can be found at www.json.org.

Component

Reusable part of an application. It can be a visual part of a page, as described in the components chapter, or the term can also stand for the class Component (such a component doesn't have to be visual).

Control characters

Control characters are invisible characters, that can occur in a text and eventually to cause some problems. For their bulk removal from files, you can use Code Checker, for their removal from a variable use function Strings::normalize().

Latte

One of the most inovative templating systems ever.

Model

Model represents data and function basis of the whole application. It includes the whole application logic (sometimes also reffered to as a “business logic”). It's the M of MVC or MPV. Any user action (loging in, putting stuff to basket, change of a database value) represents an action of the model.

Model manages its inner state and provides a public interface. By calling of this interface we can take or change its state. Model doesn't know about an existence of view or controller, model is totally independent on them.

Model-View-Controller

Software architecture, that emerged in GUI applications development to separate the code for the flow control (controller) from the code of the application logic (model) and from the data rendering code (view). That way the code is better understandable, it eases the future development and it allows to test separate parts separatelly.

Model-View-Presenter

Architecture based on Model-View-Controller.

Module

Module in Nette Framework represents a collection of presenters and templates, eventually also components and models, that serve data to a presenter. So it is certain logical part of an application.

For example, an e-shop can have three modules:

  1. Product catalogue with basket.
  2. Administration for the customer.
  3. Administration for the shopkeeper.

Namespace

Namespace is a feature of the PHP language from its version 5.3 and some other programming languages as well. It helps to avoid names collisions (e.g. two classes with the same name) when using different libraries together. See PHP documentation for further detail.

Presenter

Presenter is an object, that takes the request as translated by the router from the HTTP request and generates a response. Response can be an HTML page, picture, XML document, file, JSON, redirect or whatever you think of.

By a presenter it is usually meant an descendant of the Nette\Application\UI\Presenter class. By requests it runs appropriate actions and renders templates.

Router

Bi-directional translator between HTTP request / URL and presenter action. Bi-directional means, that it's not only possible to derive a presenter action from the HTTP request, but also to generate appropriate URL for an action. See more in the chapter about URL routing.

Snippet

Snippet of a page, that can be separately re-rendered during an AJAX request.

View

View is a layer of application, that is responsible for request results rendering. Usually it uses a templating system and it knows, how to render its components or results taken from the model.