Benim PHP tabanlı web uygulaması veri erişim katmanı (DAL) refactor iyi yolu girişi arıyorum. MVC deseni izleyin: PHP / HTML / CSS / vb. ortasında ön uç, PHP kontrolörleri / hizmet ve modelde bir ilişkisel veritabanı üstüne oturan bir PHP DAL bakıldı. Oldukça standart şeyler. Yapılacak iyi çalışıyor, ama benim DAL büyük oluyor (codesmell?) Ve biraz hantal haline geliyor.
Benim DAL hemen hemen tüm mantığı benim veritabanı arayüzü içeriyor ve bu gibi bakmak fonksiyonları dolu:
function getUser($user_id) {
$statement = "select id, name from users where user_id=:user_id";
PDO builds statement and fetchs results as an array
return $array_of_results_generated_by_PDO_fetch_method;
}
Notlar:
- Benim denetleyicisi mantık sadece model DAL yukarıdaki gibi fonksiyonları kullanarak etkileşimde
- I am not using a framework (I'm of the opinion that PHP is a templating language and there's no need to inject complexity via a framework)
- I generally use PHP as a procedural language and tend to shy away from its OOP approach (I enjoy OOP development but prefer to keep that complexity out of PHP)
DAL bu noktaya ulaştığında zaman ne yaklaşımlar almış? Ben temel bir tasarım sorunu var mı? Ben sadece daha küçük dosya sayısı (mantıksal bölmek) içine benim DAL doğrayın gerekir mi? Teşekkürler.