Wymagania Doctrine 1.x wymagał przynajmniej PHP 5.2.3. Doctrine 2.0 wymagał co najmniej PHP 5.3.0, od wersji Doctrine 2.2 wymagane jest PHP 5.3.2, natomiast najnowsza wersja Doctrine 2.5 wymaga przynajmniej PHP 5.4. Dodatkowo zalecane jest posiadanie mechanizmu buforowania wykorzystującego pamięć współdzieloną (np. APC, Memcached).

Przykład użycia Doctrine 1.x wykorzystywał wzorzec active record do operowania na danych. Klasa modelu odpowiada w nim pojedynczej tabeli, a obiekt takiej klasy - pojedynczemu wierszowi w bazie danych. Przykładowo, aby utworzyć nowy wiersz w tabeli User, wystarczy utworzyć odpowiedni obiekt i wypełnić go danymi:

// Utwórz obiekt reprezentujący nowy wiersz $user = new User();

// Wypełnij obiekt danymi $user->setName("Kowalski"); $user->setPassword("haslo");

// Zapisz wiersz do bazy danych $user->save(); echo 'Użytkownik o identyfikatorze '.$user->getId().' został zapisany.';

Doctrine 2.x operuje na encjach które reprezentowane są przez lekkie obiekty.