Nasıl iyi yapılandırma dosyalarından nesneler yaratmak mı?

0 Cevap php

Ben kurucular kullanarak geleneksel örneği olabilir PHP sınıfları bir koleksiyona sahip. Şimdi YAML yapılandırma dosyalarını kullanarak bu nesneleri örneğini yeteneğini eklemek istiyorum.

Burada bir web formu açıklayan bir yapılandırma dosyasının bir örneği:

title: Contact
fields:
    message:
        type: text
        required: true
    topic:
        type: dropdown
        options: ["HTML", "CSS", "PHP"]

Bu iki karşılık gelen alan nesneler ile bir Form nesne sonuçlanmalıdır. Diğer bir deyişle, yapılandırma dosyaları bazen başka nesneler içeren nesneleri tanımlamak.

Ben yapılandırma dosyalarında steno sözdizimi izin vermek istiyorum çünkü ben PHP özellikleri YAML anahtar / değer çiftleri basitçe bir eşleme istemiyorum. Örneğin, bazı özellik adlarını kısaltmak ve aynı zamanda "bugün" literal değil, mevcut damgası dönüşmüş bir dize olarak yorumlanır değildir default: today gibi bir şey, yazın mümkün olmak istiyorum.

Sınıfların çok alt sınıfları olduğundan, ben de üst sınıftan bana nedense "miras" yapılandırma mantığını sağlayan bir çözüm arıyorum.

I want to avoid modifying the existing classes, but I am willing to do so if it allows for a simpler solution. İkinci bir düşünce, gerçekten varolan sınıflar değiştirerek umursamıyorum; Ben iyi çözüm sadece ilgileniyorum.

Nasıl en iyi bu şekilde yapılandırma dosyalarından nesneler yaratmak mı?

0 Cevap