Ako sa pripojiť na databázu?

Sanada
Člen | 18
+
0
-

Ahojte,
ako sa prisím vás pripojím na databázu. Mám nasledovné nastavenie:

local.neon

database:
	dsn: 'mysql:host=127.0.0.1;dbname=testdb'
	user: 'user'
	password: 'password'

na základe nasledovného kódu …

$database = new Nette\Database\Connection($dsn, $user, $password);

sa mi dá pripojiť, ale ja chcem aby sa pripojovalo priamo s config súboru.

Ďakujem za odpovede

Sanada
Člen | 18
+
0
-

Tak … hľadal som, a skúsil som toto ..

public function __construct(private Nette\Database\Explorer $database)
{
    $this->database = $database;
}

a následne …

$dtb = $this->database;
$result = $dtb->table('tabulka');

je aj jednoduhší spôsob?

jeremy
Člen | 50
+
+3
-

@Sanada

public function __construct(private Nette\Database\Explorer $database)
{
    $this->database = $database;
}

Kdyz pouzivas private, public nebo protected v __construct tak neni za potrebi ukladat do $this->database znova $database.
Ani neni za potrebi si tu property definovat dopredu. V __construct se to definuje automaticky. Staci tedy zapsat takto:

public function __construct(private Nette\Database\Explorer $database) {}

a

$dtb = $this->database;
$result = $dtb->table('tabulka');

Staci zapsat jako:

$result = $this->database->table('tabulka');
...
$result2 = $this->database->table('tabulka2');