Լրացուցիչ Բլոկների Տեսակներ (EBT) - Դասավորության Կառուցողի նոր փորձառություն❗

Լրացուցիչ Բլոկների Տեսակներ (EBT) - ձևավորված, կարգավորելի բլոկների տեսակներ՝ սլայդշոուներ, ներդիրներ, քարտեր, բացվող ցանկեր և շատ ուրիշներ։ Ներառված կարգավորումներ՝ ֆոնի, DOM տուփի, JavaScript փլագինների համար։ Փորձեք դասավորությունների կառուցման ապագան արդեն այսօր։

EBT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EBT մոդուլները

❗Լրացուցիչ Պարբերությունների Տեսակներ (EPT) - Պարբերությունների նոր փորձառություն

Լրացուցիչ պարբերության տեսակներ (EPT) - անալոգիական պարբերության վրա հիմնված մոդուլների հավաքակազմ։

EPT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EPT մոդուլները

Scroll

Աշխատանք տվյալների բազայի հետ Drupal 7-ում - Դաս 2 - Տվյալների բազայի կարգավորում

12/05/2025, by Ivan

ԲԴ-ի հետ կապի սահմանման հիմնական միջոցը $databases զանգվածն է, որը գտնվում է settings.php ֆայլում։ Ինչպես ցույց է տալիս անունը, $databases թույլ է տալիս սահմանել բազմաթիվ կապեր տվյալների բազաների հետ։ Այն նաև աջակցում է մի քանի նպատակների սահմանումը։ Կապը չի բացվում (կապի օբյեկտ չի ստեղծվում), մինչև առաջին անգամ որևէ կոդի հատված հարցում չկատարի տվյալների բազային։

Կապի բանալի

Կապի բանալին եզակի նույնացուցիչ է, որը տրվում է տվյալների բազայի հետ կապին։ Կապի բանալին պետք է լինի եզակի կայքի համար և պետք է լինի լռելյայն՝ հիմնական տվյալների բազայի համար։ Շատ կայքերում դա կլինի միակ կապը։

Կապի նպատակ

Յուրաքանչյուր կապ պետք է ունենա մեկ կամ մի քանի նպատակ։ Նպատակը տվյալների բազայի կամավոր մշակման միջոց է՝ այն օգտագործելու դեպքում, երբ հասանելի է։ Եթե պահանջվող նպատակը սահմանված չէ, համակարգը «լռությամբ» կդիմի լռելյայն նպատակին, որը միշտ պետք է առկա լինի։

Նպատակներն առավելապես օգտագործվում են master/slave կրկնօրինակման համար։ Լռելյայն նպատակն է հիմնական SQL սերվերը։ Մեկ կամ մի քանի "slave" նպատակներ նույնպես կարող են սահմանվել։ Այդ դեպքում որոշ հարցումներ կփորձեն օգտագործել լրացուցիչ SQL սերվեր, եթե հնարավոր է։ Եթե հաջողվի՝ կօգտագործվի slave սերվերը, եթե ոչ՝ լռելյայնը՝ հիմնականը։

$databases-ի շարահյուսությունը

$databases զանգվածը երեք մակարդակով ներդրված զանգված է։ Առաջին մակարդակն է կապի բանալին։ Երկրորդը՝ կապի նպատակը։ Յուրաքանչյուր նպատակի արժեքը իր կապի ինֆորմացիան է՝ բանալի/նպատակ զույգի համար։ Ահա մի օրինակ՝

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

$databases զանգվածը սահմանում է մեկ կապ "default" բանալով և "default" նպատակով։ Այն օգտագործում է MySQL տվյալների բազա ("driver" - mysql) localhost սերվերում՝ drupaldb անունով բազայի, "username" անունով օգտատիրոջ և "secret" գաղտնաբառով։ Սա ամենատարածված կոնֆիգուրացիան է։

Master/slave կոնֆիգուրացիայի համար՝

<?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',
);
?>

Այս կոնֆիգուրացիան սահմանում է մեկ "default" սերվեր և երկու "slave" սերվեր։ Նկատեք, որ "slave" բանալին զանգված է։ Եթե նպատակը սահմանվում է որպես կապի ինֆորմացիայի զանգված, ապա յուրաքանչյուր էջի հարցման ժամանակ պատահականորեն կընտրվի մի սերվեր։ Այսինքն՝ նույն էջում բոլոր հարցումները կարող են գնալ թե՛ dbserver2, թե՛ 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',
);
?>

Այս կոնֆիգուրացիան սահմանում է մեկ հիմնական Drupal տվյալների բազա և մեկ լրացուցիչ՝ "extra" բանալով, որը օգտագործում է SQLite։ Նկատեք, որ SQLite-ի համար կապի ինֆորմացիան տարբերվում է MySQL-ից։ Յուրաքանչյուր driver կարող է ունենալ իր ուրույն կոնֆիգուրացիան։ Կարևոր է հիշել, որ կապերը չեն բացվում, մինչև չկատարվի հարցում այդ ԲԴ-ին։

Drupal 7 պահանջում է PDO

Այժմ Drupal-ը պահանջում է PHP PDO գրադարանը։ Դրա համար ձեզ հարկավոր է հոսթինգ՝ PDO աջակցությամբ, կամ ձեր սերվերում համապատասխան գրադարանի տեղադրում՝ Drupal-ը գործարկելու համար։