Fonksiyon Nesneleri Best Practice vs

4 Cevap php

En iyi uygulamalar işlevleri ve nesneleri ilişkin nedir merak ediyorum. Örneğin ben düzenli olarak adlandırılan bir eylemi gerçekleştirmek istiyorum. Bu girdi olarak benim veri almak ve onu düzenli ve dönecektir.

Şimdi ben iki şekilde yapabilirsiniz. Biri sınıfını kullanarak basit bir işlevi ve diğer kullanarak.

Function: $data = tidy($data);
Class:
$tidy = new Tidy();
$data = $tidy->clean($tidy);

Şimdi bunu bir sınıf yapma avantajı önce sınıf yüklemek zorunda kalmamasıdır. Ben sadece bunu yapmak için php özdevinimli_yükle özelliğini kullanabilirsiniz.

Başka bir örnek veritabanı sınıfıdır. Şimdi herkes db bağlantısı için ayrı bir sınıf kullanıyor gibi görünüyor. Ama biz genellikle sadece o sınıfın tek bir nesne var. Sınıf tanımına aykırı bu tür değildir ve biz sadece tek bir nesneyi intantiate için sınıfını kullanarak bir anlamda nesneleri?

Ben tür bir işlevi ve ne zaman bir sınıf kullanmanız zaman anlamıyorum. Aynı ilişkin iyi uygulama nedir? Herhangi kurallar?

Thank you, Alec

4 Cevap

Ben şahsen veriler daha sonra bunun altında derli toplu bir yöntem var işleyen bir 'veri' nesnesi yapmak istiyorum.

Bu model güzel küçük müstakil öbekte tüm içeren yaparken verilerine yaptığınız görevler sayısı genişletmek sağlayacaktır.

Bir şey yapar bir şey, ve sadece bir şey için, ben sadece bir fonksiyonu kullanmak istiyorum. Daha karmaşık bir şey, ve ben bir nesne kullanarak düşünecektim.

Gerçekten, bazı şeyler as nesneler yapmış olabilir, ama fonksiyon olarak kalmıştı, (muhtemelen çirkin ve korkunç) PHP kod bazı yığınları ile karıştırmak için zaman aldı ve. Saat dönüşümleri ve dize değiştirmeleri.

  • Fonksiyonlar genellikle belirli bir görevi yapmak.

  • Nesne ile ilişkili görevleri var bir şey temsil eder. (Yöntemler)

Bir fonksiyonu kullanın tidy. Sade ve basit. ;-)

Sizin durumda, ben bir işlev, sınıfın tek amacı bir ad gibi hareket olduğu için bir "util" sınıfına (böyle bir şey muhtemelen bir statik işlev yapmak istiyorum - bu arada tüm rastgele yararlı metotları grubu olacak .) Birden çok işlev çağrıları arasında yaşamak için gereken bazı veri depolamak için gerekiyorsa bir kural olarak, yalnızca bir nesne kullanın. Birden çok işlev çağrıları arasında kullanılan bir veritabanı tanıtıcı depolamak için veritabanı yöntemleri, nesnenin bir parçası olarak yapılır nedeni budur. Evet, sadece hiç bir veritabanı nesne, ancak, tüm veritabanı ile ilgili şeyler, tek bir yerde bir nesne grupları olarak sahip daha kolay korumak ve bug-free tutmak için yapım.