Bu büyük bir proje. Ben sınıfları belirli bir anda ne olduğunu bilerek yaygın olan bir eğitim yönetim sistemi için bunu yaptık.
Biz iş yapılmış yolu, gerçek bir datetimestamp arasında dönüştürülmüş bir nesne, ve çalıştırmak, terim / yarıyıl, haftada, gün ve dönem oluşan bir 'schooltime' değerine sahip oldu. Run kimliği farklı dönem düzenleri bir okulun farklı bölümleri için farklı öğretim yıllarında inşa edilebilir ve öyle oldu. Her dönem de hafta döngüsü ne olduğunu biliyordu, örneğin Tüm hafta bir haftada 1/2 düzenlemesi, ya da fantezi olsun istedim eğer herhangi başka bir değer için 2, aynı anlamına gelecekti 1 tanesi. . (Nesne kodu da gereksiz dönüşümleri kurtarmak için biraz fantezi önbelleğe alma mantığı vardı Bu tarih manipülasyon için PHP tarih kütüphaneleri exclusively kullanmayı öğretti ne de: orta vadeli {[(1 değişen gün ışığı tasarrufu )]} doğru ele!)
Bildiğim kadarıyla veritabanı gitti de, örneğin takvim girdileri gibi değil, gerçek bir datetime daha schooltime ile odaklı gereken öğeler, schooltime nesnenin çeşitli unsurları için beş sütun vardı. Onlar gerçek tarihsaat kayıt yoktu: sadece schooltimes. Biz de fiili dönem başına bir giriş saklanır. Bu zor sistematik değişiklikler yapılmış olsa da, bireysel değişimler çok daha kolay accomodated anlamına geliyordu. Biz bir override tipi yapısı ile deney düşünüyorduk, ama bir sürü iş oldu. Tekrar sıfırdan başlamak var, ben bunu bir denemek istiyorum.