Ne zaman bir model (MVC) içinde yardımcı yöntemler dahil etmek?

3 Cevap php

Ben bu soruyu sormak için kolay yolu ben bakan değilim gerçek gerçek dünya durumu ile olduğunu düşünüyorum.

Bizim sistemde, bizim site tablodaki bir satır temsil eden bir Sitesi modeli (burada klasik MVC framework) var. Sitesi model saklanan site tablonun alanlarından biri sitenin saat dilimidir. Biz ekranda sitenin zaman dilimine veritabanından UTC tarihsaat ayarlamak için kullanabilirsiniz. UtcDatetimeToSiteTimestamp () utcTimeStampToSiteDatetime (), vb Bu yardımcı birkaç yardımcı yöntem vardır

Bu yardımcı yöntemler Sitesi modelinde düzenlenen oluyor sitenin saat dilimini kullanacak yana, bu modelde bu yöntemleri dahil tamam mı? Ya da ayrı bir yardımcı sınıf veya bir şey konulmalıdır?

Ben sadece veritabanından veri satırı tutun daha modeller daha fazlasını yapması gerektiğini biliyorum, ama nerede harici girişe hareket etmek, bu verileri kullanarak yardımcı yöntemler vs bu verilere göre hareket yardımcı yöntemler arasındaki çizgi nedir?

Herhangi bir fikir için teşekkürler!

3 Cevap

Bu, bazı yargı için bir konudur. Yardımcı yöntemler, genel ve diğer sınıflarda yararlı olabilir, bu kodu yeniden kullanılabilir kılan o zamandan beri bir yardımcı sınıf oluşturmak. Yardımcı yöntemler söz sınıfına çok özel varsa o zaman orada onları bırakın.

Bu yöntemler gerçekten bir modele ait yok çünkü ben, bir yardımcı sınıf yaratacak. Onlar benim görüşüme göre ayrı yardımcı sınıf için bir pro statik yöntemleri olurdu.

Bu yargı meselesi olduğunu ben Vincent Ramdhanie katılıyorum. Şahsen benim modeli sınıfları içinde yardımcı işlevleri tanımlamak için sevmiyorum - Ben çok dağınık olduğunu düşünüyorum, ve onlar sadece oraya ait olmayan (artı sık sık, ancak herhangi bir yardımcı işlev sadece bir kez alışmakta bulabilirsiniz) olduğunu. Ancak, bu benim modellerinden içinde use yardımcı fonksiyonları yok demek değil. Ben BlogPost modeli sınıfı varsa, örneğin, benim getOneCompiled () metodu tablo satırı temsil eden bir dizi dönmeden önce bazı bağlantılar monte yardımcı işlevlerini kullanabilirsiniz.

Bu sizin seçenekleri bakmak, ve kod okuma ve bakımı kolay kod neden olacaktır görmek önemlidir. O kendi dosyasında yardımcı işlevi yazma biraz daha fazla açık iş gerektirir, ama yönetmek için kod kolaylaştırır eğer, kesinlikle buna değer olabilir.