Doktrína (PHP) - Doctrine (PHP)
![]() | Tento článek má několik problémů. Prosím pomozte zlepšit to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
![]() | |
Stabilní uvolnění | 2.6.2 / 12. července 2018 |
---|---|
Napsáno | PHP |
Operační systém | Cross-platform |
Typ | Objektově-relační mapování rámec |
Licence | MIT |
webová stránka | www |
The Doktrínový projekt (nebo Doktrína) je sada knihoven PHP primárně zaměřených na poskytování vytrvalost služby a související funkce. Jejími cenovými projekty jsou objektově-relační mapovač (ORM) a vrstva abstrakce databáze je postaven na vrcholu.
Jednou z klíčových funkcí Doctrine je možnost psát databázové dotazy v Doctrine Query Language (DQL), což je objektově orientovaný dialekt jazyka SQL.
Demonstrace použití
Entity v Nauce 2 jsou lehké objekty PHP, které obsahují trvalé vlastnosti. Trvalá vlastnost je proměnná instance entity, která je uložena a načtena z databáze pomocí schopností mapování dat Doctrine prostřednictvím Entity Manager - implementace vzor mapovače dat:
$ uživatel = Nový Uživatel(); $ uživatel->název = „john2“; $ uživatel->Heslo = "srna"; $ entityManager->přetrvávat($ uživatel); $ entityManager->flush(); echo "Uživatel s ID $ user-> id byl uložen. “;
Nauka 1.x následuje aktivní záznamový vzor pro práci s daty, kde a třída odpovídá a databázová tabulka. Například pokud by programátor chtěl vytvořit nový objekt „Uživatel“ v databázi, už by nemusel psát SQL dotazy, ale místo toho by mohl použít následující kód PHP:
$ uživatel = Nový Uživatel(); $ uživatel->název = "John"; $ uživatel->Heslo = "srna"; $ uživatel->Uložit(); echo "Uživatel s ID $ user-> id byl uložen. “;
Funkce
Jednou z funkcí doktríny je nízká úroveň konfigurace, která je nutná k zahájení projektu. Doktrína může generovat třídy objektů z existující databáze a programátor pak může určit vztahy a přidat vlastní funkce do generovaných tříd. Není třeba vytvářet ani udržovat složité XML databázová schémata, jak je vidět v mnoha jiných rámcích.
Další klíčovou vlastností Doctrine je schopnost volitelně zapisovat databázové dotazy do OO (objektově orientovaný ) Volal se dialekt SQL DQL (Doctrine Query Language) inspirovaný Hibernace HQL. Alternativně QueryBuilder třída (Doctrine_Query v Nauce 1.x) umožňuje vytvářet dotazy prostřednictvím a plynulé rozhraní. Tato rozhraní poskytují vývojářům výkonné alternativy k SQL, které udržují flexibilitu a stále umožňují přepínání back-endů databáze, aniž by vyžadovaly duplikaci kódu.
Explicitní psaní dotazů však není vždy nutné, protože Doctrine provádí připojí se a automaticky načte související objekty. Malé projekty lze snadno sestavit bez psaní dotazů.
Mezi další významné rysy Nauky patří:
- podpora háčků (metody, které mohou ověřit nebo upravit vstup a výstup databáze) a posluchačů událostí pro strukturování obchodní logiky;
- dědičnost agregace sloupců (podobné objekty lze uložit do jedné databázové tabulky, přičemž jeden typový sloupec určuje podtyp konkrétního objektu - po provedení dotazu se vždy vrátí správná podtřída);
- rámec pro ukládání do mezipaměti, využívající několik backendů, jako je memcached, SQLite nebo APC;
- KYSELINA transakce;
- migrace databází;
- funkce „kompilace“, která kombinuje mnoho souborů PHP rámce do jednoho, aby se zabránilo zásahu do výkonu, který obvykle vznikne zahrnutím mnoha souborů PHP rámce.
Dějiny
Nauku zahájil Konsta Vesterinen, známý také jako zYne-. Počáteční závazek k projektu byl učiněn 13. dubna 2006. Jak byl projekt vyspělejší, přijetí se začalo zvyšovat. Netrvalo dlouho a komunita byla aktivní a vývoj dostával pravidelné příspěvky, mimo jiné z Google Summer of Code projekt.
Nauka 1.0.0 byla vydána 1. září 2008.[1]
První stabilní verze Doctrine 2.0 byla vydána 22. prosince 2010, po 2,5 letech specializovaného vývoje od začátku roku 2008.[2]
Vlivy
Nauka byla ovlivněna desítkami projektů a mnoha různými lidmi. Největší vliv měl Jáva ORM Přezimovat a ActiveRecord z Ruby on Rails. Obě tato řešení ORM implementovala plně vybavené řešení v prostředí Java a Rubín jazyky. Účelem projektu Doctrine je vybudovat stejně výkonné řešení pro jazyk PHP pro webové stránky s vysokým zatížením, které musí udržovat stálý tok návštěvníků. Doctrine ORM lze použít ke zlepšení výkonu těchto webových stránek.
Společenství
- Je aktivní IRC kanál, kde se uživatelé a vývojáři doktríny běžně sdružují. Kanál je na freenode síť (irc.freenode.net); název kanálu je #doktrína.
- Seznam uživatelů: https://groups.google.com/group/doctrine-user
- Seznam vývojářských adresářů: https://groups.google.com/group/doctrine-dev
- Gitter https://gitter.im/doctrine/doctrine2
Viz také
- Propel (PHP)
- Seznam softwaru pro objektově-relační mapování
- Symfony, a rámec webových aplikací který standardně používá Nauku
- CodeIgniter, rámec s integrací oficiálně podporovaný týmem Doctrine
- DataEase, jehož dotazovací jazyk se také nazývá DQL
- Kapitán, vizualizační nástroj pro Nauku
- Metoda řetězení