Skip to content

Commit edce030

Browse files
committed
wip
1 parent 28899eb commit edce030

11 files changed

+1077
-379
lines changed

database/cs/@home.texy

+167-11
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,176 @@
1+
.[perex]
2+
Nette Database je výkonná a elegantní databázová vrstva pro PHP, která vyniká svou jednoduchostí použití a chytrými funkcemi. Nevyžaduje žádnou složitou konfiguraci nebo generování entit, s Nette Database můžete začít pracovat okamžitě.
13

4+
S Nette Database můžete pracovat dvěma způsoby - buď psaním SQL dotazů (Direct přístup), nebo nechat SQL generovat automaticky (Explorer přístup).
25

3-
Podporované databáze
4-
====================
6+
<div class="grid gap-3">
7+
<div>
8+
9+
10+
Direct SQL
11+
==========
12+
- Bezpečné parametrizované dotazy
13+
- Přesná kontrola nad podobou SQL dotazů
14+
- Když píšete komplexní dotazy s pokročilými funkcemi
15+
- Optimalizujete výkon pomocí specifických SQL funkcí
16+
17+
<div><a href="/cs/database/direct-sql" class="jumbo-button">SEZNAMTE SE</a></div>
18+
</div>
19+
20+
<div>
21+
22+
23+
Explorer
24+
========
25+
- Vyvíjíte rychle bez psaní SQL
26+
- Intuitivní práce s relacemi mezi tabulkami
27+
- Oceníte automatickou optimalizaci dotazů
28+
- Vhodné pro rychlou a pohodlnout práci s databází
29+
30+
<div><a href="/cs/database/explorer" class="jumbo-button">SEZNAMTE SE</a></div>
31+
</div>
32+
33+
</div>
34+
35+
---
36+
37+
<div class="grid gap-3">
38+
<div>
39+
40+
41+
Automatická optimalizace výkonu
42+
-------------------------------
43+
- Inteligentní načítání souvisejících dat
44+
- Adaptivní načítání pouze potřebných sloupců
45+
- Minimalizace počtu databázových dotazů
46+
47+
</div>
48+
49+
<div>
50+
51+
52+
Bezpečnost na prvním místě
53+
--------------------------
54+
- Vestavěná ochrana proti SQL injection
55+
- Parametrizované dotazy
56+
- Bezpečné zpracování vstupních dat
57+
58+
</div>
59+
60+
<div>
61+
62+
63+
Intuitivní práce s relacemi
64+
---------------------------
65+
- Přirozený přístup k propojeným datům
66+
- Podpora všech typů vazeb (1:1, 1:N, M:N)
67+
- Bez nutnosti psát JOIN dotazy
68+
69+
</div>
70+
71+
<div>
72+
73+
74+
Pohodlné debuggování
75+
--------------------
76+
- Panel do [Tracy|tracy:]
77+
- Všechny provedené dotazy s časy
78+
- Vysvětlení dotazů (EXPLAIN)
79+
80+
</div>
81+
82+
<div>
583

6-
Nette podporuje následující databáze:
784

8-
|* Databázový server |* DSN jméno |* Podpora v Core |* Podpora v Explorer
9-
| MySQL (>= 5.1) | mysql | ANO | ANO
10-
| PostgreSQL (>= 9.0) | pgsql | ANO | ANO
11-
| Sqlite 3 (>= 3.8) | sqlite | ANO | ANO
12-
| Oracle | oci | ANO | -
13-
| MS SQL (PDO_SQLSRV) | sqlsrv | ANO | ANO
14-
| MS SQL (PDO_DBLIB) | mssql | ANO | -
15-
| ODBC | odbc | ANO | -
85+
Nejjednodušší parametrické dotazy
86+
---------------------------------
87+
88+
Stačí jen čárka a hodnota:
89+
90+
<div class="window window--dark">
91+
```php .[dark]
92+
$database->query('
93+
SELECT *
94+
FROM users
95+
WHERE name =', $name
96+
);
97+
```
98+
</div>
99+
100+
Žádné `?`, `:param`, `@param` nebo jiné speciální syntaxe - prostě jen otazník.
101+
102+
</div>
103+
104+
<div>
105+
106+
107+
Chytrá detekce vazeb
108+
--------------------
109+
Nepotřebujete konfigurovat entity ani mapování:
110+
111+
<div class="window window--dark">
112+
```php .[dark]
113+
$book = $explorer->table('book')->get(1);
114+
// automaticky nalezne vazbu přes book.author_id
115+
echo $book->author->name;
116+
```
117+
</div>
118+
119+
</div>
120+
121+
<div>
122+
123+
124+
Adaptivní načítání dat
125+
----------------------
126+
127+
Automaticky načítá jen sloupce, které skutečně používáte v kódu
128+
129+
<div class="window window--dark">
130+
```php .[dark]
131+
foreach ($books as $book) {
132+
// načte z databáze jen sloupec 'title'
133+
echo $book->title;
134+
}
135+
```
136+
</div>
137+
138+
</div>
139+
140+
<div>
141+
142+
143+
Přes 18 let vývoje
144+
==================
145+
Nette vyvíjíme přes 18 let - a číslo stále roste! Knihovny, které poskytujeme, jsou proto **velmi zralé, stabilní a široce používané**. Věří jim řada globálních korporací a pohání mnoho významných webových stránek. <a href="https://builtwith.nette.org">Kdo používá a důvěřuje Nette?</a>
146+
147+
</div>
148+
</div>
149+
150+
151+
Instalace
152+
=========
153+
154+
Knihovnu stáhnete a nainstalujete pomocí nástroje [Composer|best-practices:composer]:
155+
156+
```shell .[dark]
157+
composer require nette/database
158+
```
159+
160+
161+
Podporované databáze
162+
--------------------
16163

164+
Nette Database podporuje následující databáze:
17165

166+
|* Databázový server |* DSN jméno |* Podpora v Explorer
167+
| MySQL (>= 5.1) | mysql | ANO
168+
| PostgreSQL (>= 9.0) | pgsql | ANO
169+
| Sqlite 3 (>= 3.8) | sqlite | ANO
170+
| Oracle | oci | -
171+
| MS SQL (PDO_SQLSRV) | sqlsrv | ANO
172+
| MS SQL (PDO_DBLIB) | mssql | -
173+
| ODBC | odbc | -
18174

19175

20176
{{title: Nette Database}}

database/cs/@left-menu.texy

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
Databáze
22
********
3-
- [Core]
3+
- [Úvod |guide]
4+
- [Direct SQL]
45
- [Explorer]
6+
- [Transakce |transactions]
57
- [Reflexe |reflection]
8+
- [Mapování |mapper]
69
- [Konfigurace |configuration]
710
- [Bezpečnostní rizika |security]
811
- [Upgrade |upgrading]

database/cs/configuration.texy

+37-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,42 @@ Konfigurace databáze
22
********************
33

44
.[perex]
5-
Přehled konfiguračních voleb pro Nette Database.
5+
Přehled možností, jak vytvořit a nakonfigurovat připojení k databázi.
66

7-
Pokud nepoužívate celý framework, ale jen tuto knihovnu, přečtěte si, [jak konfiguraci načíst|bootstrap:].
7+
8+
Připojení k databázi
9+
--------------------
10+
11+
Nejběžnější způsob je pomocí konfiguračního souboru. Pokud nepoužívate celý framework, ale jen tuto knihovnu, přečtěte si, [jak konfiguraci načíst|bootstrap:].
12+
13+
```neon
14+
database:
15+
dsn: 'mysql:host=127.0.0.1;dbname=test'
16+
user: root
17+
password: password
18+
```
19+
20+
Databázi pak získáte jako službu z DI kontejneru:
21+
22+
```php
23+
class Model
24+
{
25+
public function __construct(
26+
private Nette\Database\Connection $database,
27+
) {
28+
}
29+
}
30+
```
31+
32+
Alternativně můžete vytvořit instanci přímo:
33+
34+
```php
35+
$database = new Nette\Database\Connection(
36+
'mysql:host=127.0.0.1;dbname=test',
37+
'user',
38+
'password'
39+
);
40+
```
841

942

1043
Jedno spojení
@@ -20,6 +53,8 @@ database:
2053
password: ...
2154
```
2255

56+
Parametr `dsn` (data source name) používá stejný formát [jako PDO|https://www.php.net/manual/en/pdo.construct.php#refsect1-pdo.construct-parameters], např. `host=127.0.0.1;dbname=test`.
57+
2358
Vytvoří služby `Nette\Database\Connection` a `Nette\Database\Explorer`, které si obvykle předáváme [autowiringem |dependency-injection:autowiring], případně odkazem na [jejich název |#Služby DI].
2459

2560
Další nastavení:

0 commit comments

Comments
 (0)