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

Rad sa bazom podataka u Drupal 7 - lekcija 2 - Konfiguracija baze podataka

26/05/2025, by Ivan

Glavni način za definisanje konekcije sa bazom podataka je niz $databases u fajlu settings.php. Kao što i samo ime kaže, $databases omogućava definisanje više konekcija sa bazama podataka. Takođe podržava definisanje više ciljeva (targets). Konekcija se ne otvara (objekat konekcije se ne kreira) dok prvi put neki deo koda ne izvrši upit ka bazi.

Ključ konekcije

Ključ konekcije je jedinstveni identifikator koji se dodeljuje konekciji sa bazom podataka. Ključ konekcije mora biti jedinstven za sajt i mora biti podešen kao podrazumevani za primarnu bazu. Na većini sajtova to će biti jedna konekcija.

Cilj konekcije

Ova konekcija može imati jedan ili više ciljeva. Cilj je opcionalna obrada baze, koja omogućava korišćenje baze ako je dostupna. Ako traženi cilj nije definisan, sistem će „tiho“ koristiti podrazumevani cilj, koji uvek mora biti definisan.

Ciljevi se prvenstveno koriste za master/slave replikaciju. Podrazumevani cilj je glavni SQL server. Jedan ili više „slave“ ciljeva takođe mogu biti definisani. Upiti koji su označeni će pokušati da koriste dodatni SQL server ako je moguće. Ako uspe, koristiće se slave server, u suprotnom će se koristiti podrazumevani server, tj. glavni.

Sintaksa $databases

Niz $databases je višedimenzionalni niz sa tri nivoa. Prvi nivo definiše ključ konekcije. Drugi nivo definiše cilj konekcije. Vrednost za svaki cilj je informacija o konekciji za kombinaciju ključa i cilja. Evo primera za pojašnjenje.

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

Niz $databases definiše jedinstvenu konekciju sa ključem ("default") i ciljem ("default"). Ova konekcija koristi MySQL bazu ("driver" - mysql) na serveru localhost, za bazu podataka drupaldb, sa korisnikom username i lozinkom secret. Obično je to konfiguracija većine sajtova.

Za konfiguraciju master/slave koristi se sledeća definicija:

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

Ova konfiguracija pruža jedan "default" server i dva "slave" servera. Obratite pažnju da je ključ slave niz. Ako je neki cilj definisan kao niz konekcija, server se bira nasumično za svaki zahtev stranice. To znači da se na jednoj stranici mogu poslati upiti i ka dbserver2 i ka dbserver3.

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

Konfiguracija definiše jednu glavnu Drupal bazu i dodatnu bazu označenu kao "extra", koja koristi SQLite. Obratite pažnju da za SQLite informacije o konekciji imaju drugačiju strukturu nego za MySQL. Svaki drajver može imati drugačiju konfiguraciju koja definiše kako se koristi. Zapamtite da nije bitno koliko konekcija je definisano, Drupal neće otvarati konekcije za druge baze dok se koristi podrazumevana baza.

Drupal 7 zahteva PDO

Sada PHP PDO biblioteka je neophodna za Drupal, moraćete da koristite hosting sa podrškom za PDO da biste pokrenuli Drupal ili da instalirate odgovarajuću biblioteku na svom serveru.