logo

Dodatni tipovi blokova (EBT) - Novo iskustvo rada sa Layout Builder-om❗

Dodatni tipovi blokova (EBT) – stilizovani, prilagodljivi tipovi blokova: slajdšouvi, kartice sa tabovima, kartice, akordeoni i mnogi drugi. Ugrađena podešavanja za pozadinu, DOM Box, javascript dodatke. Iskusite budućnost kreiranja rasporeda već danas.

Demo EBT moduli Preuzmite EBT module

❗Dodatni tipovi pasusa (EPT) – Novo iskustvo rada sa pasusima

Dodatni tipovi pasusa (EPT) – analogni skup modula zasnovan na pasusima.

Demo EPT moduli Preuzmite EPT module

Scroll
19/06/2025, by Ivan

Osnovno sredstvo za definisanje konekcije ka bazi podataka je niz $databases u fajlu settings.php. Kao što i samo ime govori, $databases omogućava definisanje više konekcija ka bazama podataka. Takođe podržava definisanje više ciljeva. Konekcija ka bazi podataka se ne otvara (objekat konekcije se ne kreira) dok prvi deo koda ne pokuša da izvrši upit prema toj bazi.

Ključ konekcije

$databases['default'] // Konekcija ka bazi podataka.

Ključ konekcije je jedinstveni identifikator za datu konekciju ka bazi podataka. Ključ konekcije mora biti jedinstven za dati sajt i uvek mora postojati konekcija podrazumevano nazvana "default", koja predstavlja glavnu Drupal bazu podataka. Na većini sajtova ovo će biti jedina definisana konekcija.

Cilj

$databases['default']['default'] // Cilj baze podataka.

Za svaki ključ konekcije mora postojati jedan ili više ciljeva. Cilj je baza podataka koja se može koristiti ako je dostupna. Cilj "default" uvek mora biti definisan za svaki ključ konekcije. Ako zahtevani cilj nije definisan, sistem automatski koristi "default" vrednost.

Osnovna upotreba ciljeva je za primarnu replikaciju / replike. Cilj podrazumevano je glavni SQL server. Zatim može biti definisan jedan ili više ciljeva "replica" (imajte u vidu da je u nekim situacijama "replica" jedina dozvoljena alternativa, na primer kod statističkih upita). Upiti označeni da pokušaju da koriste server replike, ako je dostupan, će pokušati da pristupe cilju "replica". Ako je dostupan, ta konekcija će biti otvorena (ako već nije uspostavljena) i upit će biti izvršen na serveru replike. Ako nije, upit će se izvršiti na "default" (glavnom) serveru. Ovo pruža transparentan rezervni plan tako da kod može biti napisan tako da koristi prednosti servera replike ako je dostupan, a da i dalje radi bez izmena ako server nije dostupan.

Sintaksa $databases

Niz $databases je ugnježdeni niz od najmanje tri nivoa. Prvi nivo definiše ključeve baza podataka. Drugi nivo definiše ciljeve baza podataka. Vrednost svakog cilja je informacija o konekciji za dati ključ/cilj. Sledeći primeri će ovo pojasniti.

$databases['default']['default'] = array(
  'driver' => 'mysql',
  'database' => 'drupaldb',
  'username' => 'username',
  'password' => 'secret',
  'host' => 'localhost',
);

Gornji niz $databases definiše jednu konekciju ("default") sa jednim ciljem ("default"). Ova konekcija koristi MySQL bazu (ključ "driver") na lokalnom hostu sa imenom baze "drupaldb", korisničkim imenom "username" i lozinkom "secret". Ovaj primer predstavlja tipičnu Drupal instalaciju sa jednim SQL serverom i dovoljan je za većinu sajtova.

Za konfiguraciju primarne/replica baze može se definisati sledeće:

$databases['default']['default'] = array(
  'driver' => 'mysql',
  'database' => 'drupaldb1',
  'username' => 'username',
  'password' => 'secret',
  'host' => 'dbserver1',
);
$databases['default']['replica'][] = array(
  'driver' => 'mysql',
  'database' => 'drupaldb2',
  'username' => 'username',
  'password' => 'secret',
  'host' => 'dbserver2',
);
$databases['default']['replica'][] = array(
  'driver' => 'mysql',
  'database' => 'drupaldb3',
  'username' => 'username',
  'password' => 'secret',
  'host' => 'dbserver3',
);

Ova definicija pruža jedan "default" server i dva "replica" servera. Imajte u vidu da je ključ "replica" niz. Ako je cilj definisan kao niz konekcijskih informacija, jedan od definisanih servera će biti nasumično odabran za svaki upit stranice. Tako, za jedan zahtev, svi upiti na replike mogu biti poslati na dbserver2, a pri sledećem svima mogu biti poslati na dbserver3.

$databases['default']['default'] = array(
  'driver' => 'mysql',
  'database' => 'drupaldb1',
  'username' => 'username',
  'password' => 'secret',
  'host' => 'dbserver1',
);
$databases['extra']['default'] = array(
  'driver' => 'sqlite',
  'database' => 'files/extradb.sqlite',
);

Ova konfiguracija definiše jednu primarnu Drupal bazu i jednu dodatnu bazu pod nazivom "extra" koja koristi SQLite. Imajte u vidu da je konfiguracija SQLite konekcije drugačija nego kod MySQL. Svaki drajver može imati različitu konfiguraciju u zavisnosti od svojih potreba.

Zapamtite, bez obzira na broj konekcija koje definišete, Drupal neće otvoriti konekciju dok ona zaista ne bude korišćena.

PDO zahtevi

Pošto PHP biblioteka PDO sada mora biti dostupna za Drupal bazu podataka, potreban vam je hosting plan koji je uključuje da biste pokrenuli Drupal.

PDO parametri

PDO parametri i PDO parametri za specifične drajvere mogu se definisati u nizu baze podataka koristeći ključ 'pdo', na primer:

$databases['default']['default'] = array(
  'driver' => 'mysql',
  'database' => 'drupaldb',
  'username' => 'username',
  'password' => 'secret',
  'host' => 'dbserver1',
  'pdo' => array(PDO::ATTR_TIMEOUT => 2.0, PDO::MYSQL_ATTR_COMPRESS => 1),
);

 

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.