Nasıl benim PHP SQL ayırabilirsiniz?

3 Cevap php

Amca Bob'un Avice ardından Clean Code, benim PHP kodu hiçbir SQL olmasını istiyorum. Halen Ben Hazırlanan Tabloların kullanımı yapıyorum ve ben modeli sınıfları içine benim veritabanı erişim kodu çarpanlarına ettik.

Benim ilk düşünce ayrı bir SQL dosyalarının içine benim SQL çıkmak ve daha sonra zamanında bunları yüklemektir. Bu, daha fazla disk IO (benim hislerime) içerdiğinden herkes bunu başka şekilde yapıyor önerileri var, ben merak ediyorum.

Ayrıca, herkes bu ne temettü (herhangi bir kapalı öderse) çalıştı eğer bilmek ilgileniyorum.

Teşekkür ederim.

3 Cevap

Sadece SQL ayırmak için arıyorsanız, neden saklı yordamları kullanmak değil mi?

Benim size tavsiyem değil içine bir şey PHP açmak için çalışırken çok do hata yapmak değildir.

PHP HTML sayfaları içinde embed kodu sağlayan bir Web odaklı çiftleşmiş dildir. Oldukça (Hangi Java servlet gibi) kalıcı olmaktan çok bir istek yaşam döngüsü vardır. It API'ler doğada büyük ölçüde usul vardır.

Hiçbiri bir sorundur.

Ama sen nesne modelleri, Orms ve PHP üzerine C # veya Java programlama alıştığınız diğer yapıları zorlamak için çalışırken ısrar ve sık sık bir hata insanlar bulabilirsiniz.

Özellikle sizin sorunuzu yanıtlamak için, i SQL'ye (I veritabanı veya bazı fonksiyonel ayrılığı onları ayırmak gerekir bu durumda onları bir sürü varsa veya daha fazla) bir dosyada benim sorguları (işlevler) koymak eğilimindedir ve fonksiyonlarda heredoc in basitçe. Tüm yoru kod üzerinden SQL mantık gömerek değil yararlıdır.

Metin dosyalarda SQL koymak ve bunun üzerine file_get_contents() kullanabilirsiniz ama ne kazanabilirim ki?

Sadece hayır nokta el sıkma ve PHP Diğer dillerde ve çerçeveler ilkelerini uygulamak için çalışıyoruz var. O iyi ne için PHP kullanmak (ya da başka bir şey kullanmak). Ya bir yol daha mutlu olacağım.

Ne arıyorsun düşünüyorum bir veri erişim katmanı. Ben "Clean Code" okumak, ama ne ben amcanız de oluyor tahmin ediyorum biryere ham SQL ve veritabanı kurulum / erişim kodu bir demet yok etmektir değil. Orada ayrı bir modül ve çalışma içine dışarı Özet veritabanı, vb yürütmek, hazırlamak kodu.

Bu her iki tarafta iyi puan ile çok tartışılan bir konu olmasına rağmen saklı yordamları kullanarak ilgili açıklama, aynı zamanda iyi bir fikir IMHO olduğunu. Ben SP adlı kullanarak yönelir, ama herkes ya da her durum için değildir.