Ben yapılandırılabilir bir rapor var. foo as my_foo
gibi bir şey - rapora dahil edilebilir her alan için, (rapor tercihlerinde saklanır) bir anahtar, bir etiket, potansiyel bir erişim seviyesi ve bir SQL tanımlayıcı var.
Bir Java uygulaması, yukarıda listelenen özelliklerin her biri ile ReportField adında bir sınıf yaratacak. Ben özel bir kurucu kullanın ve bu gibi sınıftaki alanların her biri listelemek istiyorum:
public final static ReportField FOO = new ReportField('foo', 'Foo', 1, 'foo as my_foo');
Herhalde benzeri, tüm alanları statik bir dizi oluşturmak alan anahtarla baktım sağlayan bir statik yöntem ekleyin, ve istiyorum. Sonra başka yerlerde ben gibi bir kod yazabilirsiniz:
List<String> selectFields = new ArrayList<String>();
for (ReportPref pref : reportPrefs) {
selectFields.add(ReportField.getByKey(pref.getField()).getFieldSql());
}
Umarım benim açımdan Java kodu için özür dilemek, ama olsun.
PHP aynı sorunu çözmek için deyimsel bir yolu var mı? İç içe ilişkisel diziler hile yapacak - - Ben çözümleri bir dizi düşünüyorum ama ben bir hackish çözüm önlemek istiyorum.