Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
dg committed Mar 7, 2025
1 parent 06f1cb7 commit f36104c
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 6 deletions.
4 changes: 2 additions & 2 deletions http/cs/request.texy
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ HTTP request
.[perex]
Nette zapouzdřuje HTTP požadavek do objektů se srozumitelným API a zároveň poskytuje sanitizační filtr.

HTTP požadavek představuje objekt [api:Nette\Http\Request], ke kterému se dostanete tak, že si jej necháte předat pomocí [dependency injection |dependency-injection:passing-dependencies]. V presenterech stačí jen zavolat `$httpRequest = $this->getHttpRequest()`.
HTTP požadavek představuje objekt [api:Nette\Http\Request]. Pokud pracujete s Nette, tento objekt je automaticky vytvořen frameworkem a můžete si jej nechat předat pomocí [dependency injection |dependency-injection:passing-dependencies]. V presenterech dokonce stačí jen zavolat metodu `$this->getHttpRequest()`. Pokud pracujete mimo Nette Framework, můžete si vytvořit objekt pomocí [RequestFactory|#RequestFactory].

Co je důležité, tak že Nette když [vytváří|#RequestFactory] tento objekt, všechny vstupní parametry GET, POST, COOKIE a také URL pročistí od kontrolních znaků a neplatných UTF-8 sekvencí. Takže s daty pak můžete bezpečně dále pracovat. Očištěná data se následně používají v presenterech a formulářích.
Velkou předností Nette je, že při vytváření objektu automaticky pročišťuje všechny vstupní parametry GET, POST, COOKIE a také URL od kontrolních znaků a neplatných UTF-8 sekvencí. S těmito daty pak můžete bezpečně dále pracovat. Očištěná data se následně používají v presenterech a formulářích.

→ [Instalace a požadavky |@home#Instalace]

Expand Down
2 changes: 1 addition & 1 deletion http/cs/response.texy
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ HTTP response
.[perex]
Nette zapouzdřuje HTTP odpověď do objektů se srozumitelným API.

HTTP odpověď představuje objekt [api:Nette\Http\Response], ke kterému se dostanete tak, že si jej necháte předat pomocí [dependency injection |dependency-injection:passing-dependencies]. V presenterech stačí jen zavolat `$httpResponse = $this->getHttpResponse()`.
HTTP odpověď představuje objekt [api:Nette\Http\Response]. Pokud pracujete s Nette, tento objekt je automaticky vytvořen frameworkem a můžete si jej nechat předat pomocí [dependency injection |dependency-injection:passing-dependencies]. V presenterech dokonce stačí jen zavolat metodu `$this->getHttpResponse()`.

→ [Instalace a požadavky |@home#Instalace]

Expand Down
15 changes: 12 additions & 3 deletions http/cs/urls.texy
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ Url::removeDotSegments('./today/../file.txt'); // 'file.txt'
UrlImmutable
============

Třída [api:Nette\Http\UrlImmutable] je immutable (neměnnou) alternativou třídy `Url` (podobně jako je v PHP `DateTimeImmutable` neměnnou alternativou `DateTime`). Místo setterů má tzv. withery, které objekt nemění, ale vracejí nové instance s upravenou hodnotou:
Třída [api:Nette\Http\UrlImmutable] je immutable (neměnnou) alternativou třídy [#Url] (podobně jako je v PHP `DateTimeImmutable` neměnnou alternativou `DateTime`). Místo setterů má tzv. withery, které objekt nemění, ale vracejí nové instance s upravenou hodnotou:

```php
use Nette\Http\UrlImmutable;
Expand Down Expand Up @@ -230,7 +230,9 @@ $url->isEqual('https://nette.org');
UrlScript
=========

Třída [api:Nette\Http\UrlScript] je potomkem `UrlImmutable` a navíc rozlišuje tyto další logické části URL:
Třída [api:Nette\Http\UrlScript] je potomkem [#UrlImmutable] a rozšiřuje jej o další virtuální komponenty URL, jako je kořenový adresáři projektu apod. Stejně jako rodičovská třída je immutable (neměnným) objektem.

Následující diagram zobrazuje komponenty, které UrlScript rozpoznává:

/--pre
baseUrl basePath relativePath relativeUrl
Expand All @@ -242,6 +244,13 @@ Třída [api:Nette\Http\UrlScript] je potomkem `UrlImmutable` a navíc rozlišuj
scriptPath pathInfo
\--

- `baseUrl` je základní URL adresa aplikace včetně domény a části cesty ke kořenovému adresáři aplikace
- `basePath` je část cesty ke kořenovému adresáři aplikace
- `scriptPath` je cesta k aktuálnímu skriptu
- `relativePath` je název skriptu (případně další segmenty cesty) relativní k basePath
- `relativeUrl` je celá část URL za baseUrl, včetně query string a fragmentu.
- `pathInfo` dnes už málo využívaná část URL za názvem skriptu

Pro vrácení částí URL jsou k dispozici metody:

.[language-php]
Expand All @@ -254,4 +263,4 @@ Pro vrácení částí URL jsou k dispozici metody:
| `getRelativeUrl(): string` | `'script.php/pathinfo/?name=param#footer'`
| `getPathInfo(): string` | `'/pathinfo/'`

Objekty `UrlScript` přímo nevytváříme, ale vrací jej metoda [Nette\Http\Request::getUrl()|request].
Objekty `UrlScript` obvykle přímo nevytváříme, ale vrací jej metoda [Nette\Http\Request::getUrl()|request] s již správně nastavenými komponentami pro aktuální HTTP požadavek.

0 comments on commit f36104c

Please sign in to comment.