Woocommerce’de genişleyen CRUD veri depolama
Hiç Crud’u duydun mu? Programlamada, hepimizin verilerimizle yaptığı temel işlemler olan create, r ead, u pdate ve d elete’nin kısaltılmasıdır. WooCommerce ile ürünler, siparişler, müşteriler, kuponlar ve veritabanınızda depolanan diğer verileri içerir. WooCommerce ile ilgili son değişiklikler, platformun daha ölçeklenebilir olma yolunda olduğu anlamına geliyor. Not: Bu yazı gerçekten tekniktir ve bir PHP kodu ile belirli bir konfor seviyesi alır. Ses öğrenen? Bu yazıdaki noktalar Wooconf 2017’deki konuşmamdan.
WooCommerce, geliştiricilerimiz için hayatı kolaylaştırmak için daha ölçeklenebilir, WooCommerce 3.0’a özel CRUD nesneleri ekliyoruz. Bu, WooCommerce’deki önceki tüm gönderi kodu kodunun yerini alır ve ayrıca WooCommerce sitesini deşarj için etkinleştirmek için tüm uzantılar tarafından da kullanılmalıdır. Aynı zamanda, Woocommerce verilerinizi veritabanına ve veritabanından yüklemek ve saklamak için tasarlanmış veri depolama adı verilen diğer nesnelerin bir koleksiyonunu ekleriz. Bu soyutlama, WooCommerce’in siparişleri, ürünleri ve müşterileri daha fazla sayıda ele almasına izin vermek için tasarlanmıştır. Bu, veri depolamak için farklı yöntemler kullanmak için WooCommerce’e bağlanarak yapılır.Veri depolamasının her uygulanması, veri tabanından veya verileri aynı anda saklamak için başka bir yol olsun, verilerin nasıl depolandığını ve alındığını belirler. Bunu kullanarak, milyonlarca siparişi üstlenebilecek uygulama ile WooCommerce’ı şirketin satış hacmine yükseltmek mümkündür. Yapılması gereken tek şey, WooCommerce’in veri depolamak için kullandıklarını yeniden tanımlayan filtreye bağlanmaktır. Bu yapı, CRUD tarafından sağlanabilecek performansı ve veri depolamasının soyutlanmasını geliştirmenin yanı sıra, Woocommerce mağazanız için veri depolama ve veri içerme şeklinizde daha fazla esneklik sağlar. Her bir veri türü wooCommerce (ürün, sipariş, müşteri vb.) İçin, artık verilerin nereden gelmesi ve nereye gideceğinden programlanmış karar verebileceğiniz. Bu, mağaza üreticilerinin diğer sistemlerle etkileşime girerek veya WooCommerce’in çeşitli bölümlerinin performansını iyileştirerek WooCommerce’i ihtiyaçlarına göre ayarlamalarına izin verir. Crud ile sağlanabilecek performansı iyileştirmenin yanı sıra, veri depolamasının soyutlanması sağlar, bu yapı daha fazlasını sağlar. Woocommerce mağazanız için veri depolama ve veri içerme şeklinizdeki esneklik. Bu tam olarak ne anlama geliyor? Olasılıkları düşünün:
Sipariş verilerinin WPDB’den ayrı bir veritabanında saklanması.
Diğer sistemlerde mevcut veritabanlarından ürün verileri alın.
Ürün envanterini birkaç sitede paylaşın (örneğin aşağıda). Ürün verilerini API üzerinden diğer kaynaklardan alın. Bir veri deposundan yüklemek için bir CLI komutu yapın ve diğerine (içe aktarma/dışa aktarma doğuştan) depolayın.
Veri depolamasının crud ile genişletilmesi ve veri depolama alanının soyutlanması, WooCommerce artık verilerin nereden geldiğini veya verilerin nasıl saklandığını umursamıyor. Hepsini kendiniz kontrol edebilirsiniz. Aşağıdaki örnekte, ayrı bir hizmetten envanter miktarını alıyorum ve sadece her ürün nesnesinin envanter miktarı değişti. Bunu yapmanın faydalarından biri, aynı sayıda envanterden satan ve stoklarımın çok fazla satmamasını sağlayan birkaç WooCommerce sitesine sahip olabilmem. Bu giriş noktası, Filtre Install_Data_Store.
Bu dosya, aşağıda göründüğünden farklı yorumlanabilen veya derlenebilen çift yönlü Unicode metni içerir. İncelemek için dosyayı Gizli Unicode karakterini ortaya çıkaran bir düzenleyicide açın.
Çift yönlü Unicode karakterleri hakkında daha fazla bilgi edinin
Gizli Karakterleri Göster
Ham görüntüle
Class-Woocommerce-Product-Inventory-Dathatore-Plugin.php
Github tarafından ❤ ile barındırıldı
Gerçek veri depolama için uygulanacak iki arayüz vardır: wc_object_data_store_interface ve wc_product_data_store_interface.
Bu veri depolama, mevcut veri depolamasını artırmak için tasarlanmıştır (genellikle varsayılan POST meta’nın uygulanması). Yapıcıda veri depolama gereklidir ve yalnızca envanterle işleme yolunu değiştirir. Diğer her şey normal olarak mevcut veri depolama yoluyla işlenir.
Bu dosya, aşağıda göründüğünden farklı yorumlanabilen veya derlenebilen çift yönlü Unicode metni içerir. İncelemek için dosyayı Gizli Unicode karakterini ortaya çıkaran bir editörde açın. Çift yönlü Unicode karakterleri hakkında daha fazla bilgi edinin
Gizli Karakterleri Göster
</tr
Ham görüntüle
Sınıf Ürün-Inventory-Data-Store.php
Github tarafından ❤ ile barındırıldı
Gerekli işlevlerin çoğu için, bu veri depolama yalnızca üst veri depolama gerektirir:
Bu dosya, aşağıda göründüğünden farklı yorumlanabilen veya derlenebilen çift yönlü Unicode metni içerir. İncelemek için dosyayı Gizli Unicode karakterini ortaya çıkaran bir düzenleyicide açın.
Çift yönlü Unicode karakterleri hakkında daha fazla bilgi edinin
Gizli Karakterleri Göster
Ham görüntüle
Sınıf Ürün-Inventory-Data-Store.php
Github tarafından ❤ ile barındırıldı
Bu veri depolamasının getirdiği tek değişiklik envanterin nasıl okunduğudur. Bu durumda, normal olarak ana veri depolamasından okur, ancak geri dönmeden önce stok miktarına sahiptir:
Bu dosya, aşağıda göründüğünden farklı yorumlanabilen veya derlenebilen çift yönlü Unicode metni içerir. İncelemek için dosyayı Gizli Unicode karakterini ortaya çıkaran bir editörde açın. Çift yönlü Unicode karakterleri hakkında daha fazla bilgi edinin
Gizli Karakterleri Göster
Ham görüntüle
Sınıf Ürün-Inventory-Data-Store.php
Github tarafından ❤ ile barındırıldı
Veri depolamasının kabuk ve soyutlanması ile WooCommerce artık verilerin nereden geldiğinden veya verilerin nasıl saklandığından önem vermiyor.Hepsini kendiniz kontrol edebilirsiniz.