it-swarm-eu.dev

Je možné přepnout datovou kartu v aplikaci WordPress?

WordPress je nepochybně velmi přizpůsobitelný pomocí pluginů, ale každá možnost přizpůsobení má jistě limity definované základní architekturou.

Pro ty, kteří znají architekturu WP a zdrojový kód:

Jaké by bylo úsilí potřebné k přizpůsobení datové vrstvy použité v WP pro použití jiného úložiště dat (např. Souborů (nebo jiného databázového systému) namísto MySQL?). Je architektura WordPressu vrstvená ve smyslu možnosti přepínat vrstvy? Vrstva UI je zřejmě velmi snadno přepínatelná (jakékoli téma to dělá), ale jak je to s jinými vrstvami, konkrétně s datovou vrstvou?

4
Marek

Wordpress je není navržen tak, aby měl nahraditelnou databázovou vrstvu. Počítačová věda má několik různých pojmů v hrudi, aby se vypořádal s různými databázemi ve stejné aplikaci na různých úrovních abstrakce, Wordpress nemá tendenci využívat některého z těchto. Chcete-li to říci jednoduššími slovy: vůbec ne.

Ale wordpress nabízí možnost nahradit vlastní kód nějakým jiným kódem, například celou databázovou třídou. To není vždy (přečtěte si: normálně) natolik, aby nahradilo celou databázovou vrstvu, ale napomáhá drotění. Výměna třídy WPDB HyperDB například nepřidává novou databázovou vrstvu v plném rozsahu, ale zpracovává více serverů MySQL namísto jednoho, což je dobře známý příklad (to je považováno za špatnou praxi s PHP, existují lepší způsoby , ale je to dobrý příklad toho, co lze udělat).

Vedle nahrazení databázové třídy má Wordpress schopnost nahradit ještě více kódu a můžete jej zcela změnit, např. vytvoření vlastní distribuce, která se postará o vše, co se týká vlastní vrstvy databáze.

Pokud chcete vidět příklad reálného života o tom, jak nahradit celou databázovou vrstvu, tak aby wordpress používal zcela odlišný typ databázového serveru (zde: MSSQL namísto hardcoded MySQL), najdete zde plnou distribuci a patch zde :

WordPress na serveru SQL Server Distro & Patch

Je to svobodný software, který můžete studovat, jak lze takovou databázovou vrstvu implementovat, webové stránky také poskytují více informací o tomto tématu.

Tip: Nebojujte Wordpress. Držte MySQL a to je vše. V opačném případě hledejte něco jiného, ​​lépe přizpůsobeného vašim potřebám. Stačí si vybrat ten správný nástroj pro tuto práci.

5
hakre

Je to možné: viz HyperDB nahrazení wpdb. HyperDB přidává rozdělení a replikaci WordPress. Rozdělení disku funguje připojením k více databázím a pomocí názvu tabulky určit, která databáze by měla dotaz spustit.

Nakonec $wpdb dostane pouze dotaz SQL a je to volné, co chce s daty v rámci tohoto dotazu. HyperDB dotazuje MySQL stejně jako původní třída wpdb. Rozšíření na jiné databáze by vyžadovalo úpravu jakýchkoli nevyhovujících dotazů před jejich provedením. Pokud váš datový úložiště neakceptuje SQL vůbec, budete muset přeložit příchozí dotaz na jakékoli jiné API, které používáte. Cokoliv je možné s dostatečným časem a úsilím, ale to mi připadá jako docela nešťastný závazek. ;)

2
Annika Backstrom

Právě našel tuto stránku Codexu , která to pěkně shrnuje, včetně přehledu řešení navrhovaných a/nebo plánovaných lidmi, kteří vyvíjejí WordPress. Uvidíme, jak to vyjde.

0
Marek