Nette Database
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ě.
Instalace:
composer require nette/database
Připojení a konfigurace
Pro připojení k databázi stačí vytvořit instanci třídy Nette\Database\Connection:
$database = new Nette\Database\Connection($dsn, $user, $password);
Parametr $dsn
(data source name) je stejný, jaký používá PDO, např.
host=127.0.0.1;dbname=test
. V případě selhání vyhodí výjimku
Nette\Database\ConnectionException
.
Nicméně šikovnější způsob nabízí aplikační
konfigurace, kam stačí přidat sekci database
a vytvoří se potřebné objekty a také databázový panel
v Tracy baru.
database:
dsn: 'mysql:host=127.0.0.1;dbname=test'
user: root
password: password
Poté objekt spojení získáme jako službu z DI kontejneru, např.:
class Model
{
private $database;
// pro práci s vrstvou Database Explorer si předáme Nette\Database\Context
public function __construct(Nette\Database\Connection $database)
{
$this->database = $database;
}
}
Více informací o konfiguraci databáze.
Transakce
Pro práci s transakcemi slouží trojice metod:
$database->beginTransaction(); // zahájení transakce
$database->commit(); // potvrzení
$database->rollback(); // vrácení zpět