it-swarm.asia

Veri katmanını WordPress içerisinde değiştirmek mümkün müdür?

WordPress, eklentiler kullanılarak hiç kuşkusuz özelleştirilebilir, ancak her özelleştirme olasılığı kesinlikle altta yatan mimari tarafından tanımlanan sınırlamalara sahip.

WP mimarisini ve kaynak kodunu bilenler için:

Başka bir veri deposunu kullanmak için WP tarafından kullanılan veri katmanını (örneğin, MySQL yerine dosyalar (veya başka bir veritabanı sistemi)) kullanmak için gereken çaba ne olacaktır? WordPress mimarisi, katmanları değiştirme olanağı sağlayacak şekilde katmanlı mı? UI katmanı görünüşte değiştirmek çok kolaydır (herhangi bir tema var), peki ya diğer katmanlar, yani veri katmanı?

4
Marek

WordPress değil değiştirilebilir bir veritabanı katmanına sahip olacak şekilde tasarlanmıştır. Bilgisayar Bilimi, göğsünde farklı soyutlama seviyelerinde aynı uygulamada farklı veritabanları ile ilgilenmek için farklı kavramlara sahip, Wordpress bunların hiçbirini kullanmaya meyilli değil. Daha basit kelimelerle söylemek gerekirse: Hiç de değil.

Ancak wordpress, kendi kodunu başka bir kodla, örneğin tüm veritabanı sınıfıyla değiştirme olanağı sunar. Bu, tüm veritabanı katmanını değiştirmek için her zaman yeterli değildir (normal olarak okunur), ancak düzenlemeye yardımcı olur. Örneğin WPDB sınıfı HyperDB tam olarak yeni bir veritabanı katmanı eklemiyor, ancak tanınmış bir örnek olan birden çok MySQL sunucusunu kullanıyor (Bu PHP ile yapmak için kötü bir uygulama olarak kabul edilir, daha iyi yollar var , ama ne yapılabileceğine iyi bir örnek.).

Veri tabanı sınıfını değiştirmenin yanı sıra, Wordpress /yeteneğine sahiptir, hatta daha fazla kod değiştirilebilir ve tamamen değiştirebilirsiniz; kendi veritabanı katmanı ile ilgili her şeyi halleder kendi dağıtımını oluşturmak.

Tüm veritabanı katmanının nasıl değiştirileceğine dair gerçek bir örnek görmek istiyorsanız, bu nedenle wordpress'in tamamen farklı türde bir veritabanı sunucusu kullanmasını sağlamak için (burada: kodlanmış MySQL yerine MSSQL), burada tam bir dağıtım ve yama bulabilirsiniz. :

SQL Server Distro ve Yamasında WordPress

Böyle bir veritabanı katmanının nasıl uygulanabileceğini çalışabileceğiniz ücretsiz bir yazılımdır, web sitesi de bu konuda daha fazla bilgi sağlar.

İpucu: Wordpress ile savaşmayın. MySQL'e bağlı kalın, hepsi bu. Aksi halde, gereksinimlerinize göre daha iyi tasarlanmış başka bir şey arayın. Sadece iş için doğru aleti kullanın.

5
hakre

Mümkün: wpdb için HyperDB değiştirmeye bakın. HyperDB, WordPress'e bölümleme ve çoğaltma ekler. Bölümleme, birden çok veritabanına bağlanarak ve hangi veritabanının sorguyu çalıştırması gerektiğini belirlemek için tablo adını kullanarak çalışır.

Sonunda, $wpdb sadece bir SQL sorgusu alır ve bu sorgundaki verilerle istediğini yapmakta özgürdür. HyperDB, MySQL'i orjinal wpdb sınıfı gibi sorgular. Bunu farklı veritabanlarına genişletmek, uyumlu olmayan sorguların yürütülmeden önce değiştirilmesini gerektirir. Veri deponuz SQL'i kabul etmiyorsa, gelen sorguyu kullandığınız diğer API'lere çevirmeniz gerekir. Her şey yeterli zaman ve çaba ile mümkündür, ancak bana oldukça sefil bir taahhüt gibi geliyor. ;)

2
Annika Backstrom

WordPress'i geliştiren kişiler tarafından önerilen ve/veya planlanan çözümlere genel bakış da dahil olmak üzere, onu özetleyen bu Kodeks sayfasını bulduk (== --- ==). Nasıl çıktığını görelim.

0
Marek