Co je Nextras ORM a jak funguje?

Co je Nextras ORM a jak funguje?

Nextras ORM je knihovna pro práci s databází v PHP, která umožňuje používat databázi prostřednictvím objektů namísto přímého psaní SQL dotazů. ORM automaticky mapuje databázové tabulky na PHP třídy a řádky na objekty.

Je to alternativa k ručnímu psaní SQL, vhodná zejména při použití frameworku Nette, se kterým je úzce integrován.

Hlavní výhody Nextras ORM

  • Jednoduché a srozumitelné API pro práci s databází
  • Plná podpora typové bezpečnosti díky PHP anotacím a generování getter/setter metod
  • Lazy loading – data se načítají pouze tehdy, když je opravdu potřebujete
  • Podpora vztahů mezi entitami: 1:1, 1:N, N:M
  • Kompatibilita s Doctrine Annotations, Symfony Console a Composerem

Základní principy fungování

Nextras ORM pracuje se třemi hlavními typy objektů:

  • Entity – třída, která reprezentuje jeden záznam v databázi
  • Repository – objekt, přes který získáváme nebo ukládáme entity
  • Mapper – zajišťuje mapování entity na konkrétní databázovou tabulku

Ukázka: jednoduchá entita


namespace App\Model\Entity;

use Nextras\Orm\Entity\Entity;
use Nextras\Orm\Relationships\OneHasMany;

/**
 * @property int $id (primary)
 * @property string $jmeno
 * @property OneHasMany|Komentar[] $komentare {1:m Komentar::$clanek}
 */
class Clanek extends Entity
{
}

Ukázka repository


namespace App\Model\Repository;

use Nextras\Orm\Repository\Repository;

class ClanekRepository extends Repository
{
    public static function getEntityClassNames(): array
    {
        return [\App\Model\Entity\Clanek::class];
    }
}

Ukázka mapperu


namespace App\Model\Mapper;

use Nextras\Orm\Mapper\Mapper;

class ClanekMapper extends Mapper
{
}

Práce s entitami v praxi

V presenteru nebo službě pak můžete snadno načítat nebo ukládat data:


// Vyhledání článku podle ID
$clanek = $clanekRepository->getById(1);

// Vytvoření nové entity
$novyClanek = new Clanek();
$novyClanek->jmeno = 'Nový článek';
$clanekRepository->persistAndFlush($novyClanek);

// Výpis komentářů článku
foreach ($clanek->komentare as $komentar) {
    echo $komentar->obsah;
}

Konfigurace

V Nette projektu stačí zaregistrovat ORM v neon konfiguračním souboru:


extensions:
    orm: Nextras\Orm\Bridges\NetteDI\OrmExtension

orm:
    model: App\Model\Orm\Model
    cache: %tempDir%/cache/orm

Závěr

Nextras ORM je ideální nástroj pro PHP vývojáře, kteří chtějí udržet databázovou vrstvu čistou, přehlednou a objektově orientovanou. Díky jednoduchému a dobře dokumentovanému API je vhodný i pro menší projekty, ale díky své flexibilitě ho lze použít i v robustních aplikacích.

Poslední aktualizace článku proběhla 10.4.2025.

OBJEDNAT SEO OPTIMALIZACI

Líbí se vám článek? Dejte mu 5 hvězd!

Aktuální hodnocení článku 4.6/5 (23 hlasujících)

avatar autora Tomáš Rohlena
Tomáš Rohlena je zkušený specialista na SEO, vývoj webových stránek, portálů a digitálních aplikací, který propojuje technologické know-how s hlubokým porozuměním online marketingu a provozu webových projektů. Díky mnohaletým zkušenostem dokáže nejen optimalizovat weby pro maximální viditelnost ve vyhledávačích, ale také navrhovat efektivní strategie pro zlepšení konverzí a dlouhodobé udržitelnosti online projektů.
ikona sociální sítě ikona sociální sítě

Komentáře

Přidejte první komentář ke článku Co je Nextras ORM a jak funguje?.

Přidat komentář

Kde je článek zařazen?

Kategorie: Programování
Štítky: php, databáze