Začněme stručným přehledem technologií použitých v Drupalu:

Jazyk PHP

Drupal je napsaný v programovacím jazyku PHP (http://php.net). Jedná se o multiplatformní webový skriptovací jazyk s širokou podporou. Protože je Drupal v tomto jazyce napsaný, zaměříme se převážně na vývoj v jazyce PHP.

Na začátek bychom si měli vyjasnit jednu důležitou věc – od verze Drupal 7, je minimální požadovanou verzí jazyka PHP verze PHP 5.2. Starší verze systému Drupal podporovaly rovněž jazyk PHP 4.x, ale to už nadále neplatí.

Styl programování v jazyce PHP, který používá Drupal, si také zaslouží zmínku. Ačkoliv spousta aplikací PHP používá objektově orientované programování, Drupal se tímto trendem neřídí. Z řady důvodů, ať už historických, či praktických, používá Drupal převážně procedurální programování. Drupal se příliš nespoléhá na třídy a rozhraní, ale jeho moduly se z velké části skládají z kolekcí funkcí.

Než začnete činit závěry, prohlédněte si následující tvrzení:

  • Drupal často používá objekty.
  • Některé subsystémy Drupalu jsou objektově-orientované.
  • Spousta modulů Drupalu je z velké části objektově-orientovaná.
  • Drupal hojně používá návrhové vzory, jež můžeme používat i v procedurálním kódu.

Databáze a systém MySQL

Systém Drupal podporoval v minulosti dva databázové systémy – MySQL a PostgreSQL. Verze Drupal 7 již však překonala toto omezení. Systém Drupal nyní používá výkonnou knihovnu PDO (PHP Data Objects), která je standardem v jazyce PHP 5. Tato knihovna představuje abstraktní vrstvu, jež umožňuje vývojářům podporovat více databázových systémů; včetně systémů MySQL, Postgre-SQL, SQLite, MariaDB a dalších. Ačkoliv se Drupal testuje jen na několika databázových systémech (MySQL, PostgreSQL a SQLite), je možné používat i další systémy – SQL Server, Oracle, DB2 atd.

Drupal nabízí databázové rozhraní API a konvence pro psaní kódu jazyka SQL (kupříkladu „nepoužívejte výraz LIMIT v kódu jazyka SQL“). Jejich účelem je usnadnit psaní přenositelného zdrojového kódu.

Jazyky HTML, CSS a JavaScript

Standardním formátem pro prezentaci dat na webu je jazyk HTML (HyperText Markup Language) doplněný styly z jazyka CSS (Cascading Style Sheets). Interaktivní komponenty na straně klienta se běžně píšou v jazyce JavaScript. Abychom ale programovali v Drupalu, nemusíte být nutně ninjové JavaScriptu :)

Další technologie

Jak se zdá, Internet se těší na změny a existuje spousta dalších technologií, které se proslavily. Zmíním se kupříkladu o technologiích, jako jsou kanály RSS (Really Simple Syndication), jazyk XML (eXtensible Markup Language), protokol XML-RPC a jiné. Ty jsou však pro nás až na druhém místě. Ačkoliv Drupal podporuje spoustu z nich, jejich používání není nedílnou součástí vývoje modulu nebo tématu vzhledu.

Webový server

Apache je již dlouho dobu předním webovým serverem, ale rozhodně není jediným. Přestože se Drupal původně psal pro server Apache, běží i na jiných webových serverech (včetně serverů IIS, LigHTTPD a nginx). Systém Drupal očekává od této vrstvy notnou dávku zpracování – včetně přepisování adres URL.

Operační systém

Systém Drupal funguje na většině oblíbených operačních systémech (ne-li na všech), a to včetně systému Windows a různých variant systémů UNIX/Linux.