PHP temel veri tipleri gibi nesneler kullanmalı mıyım?

4 Cevap php

Geçenlerde kolay PHP'nin fonksiyonları kullanarak yapmak için kendi String sınıfı oluşturmak için bir fikrim yoktu. Yerine strlen($str) yazıyorum $str->length(). Daha kolay substr gibi bazı işlevleri parametre siparişleri, hatırlamak için yapar.

Ben bunun üzerine bazı zamanlama komut koştu ve bu konuda 5 times slower normal fonksiyonlarını kullanarak daha olduğunu buldu. Ben henüz gerçek bir uygulaması bu test değil, bu yüzden bu (1ms vs 5ms veya 100ms vs 500ms?) Nasıl olacak önemsiz bilmiyorum.

Neyse artık PHP şimdi dizeler, diziler ve diğer temel tipleri nesne yönelimli olması için mantıklı olmaz, OOP üzerinde daha fazla duruluyor olduğunu bana vurdu? Daha sonra daha iyi fonksiyonları isim olabilir ve kod sadece güzel "hissediyorum" olacaktır. Ve yavaş yavaş bir şeyler yapmanın eski yolu çıkartmaya. Bu herhangi bir artıları / eksileri?

4 Cevap

Her zaman kodunuzu belgelemek ve sadece PHP sağlamıştır işlevlerini kullanabilirsiniz. Bu uzun vadede sizi etkileyecek gidiyor olup olmadığını söylemek zor. Bu etkileyebilecek pek çok farklı faktörler vardır. Geri özgün bir şekilde anahtarını işe yaramazsa belki, bir çekim verin ve.

Şahsen, ben sadece yerine çok süslü almanın iyi belgelenmiş Belgemi devam edecek. Daha OOP içine itmek yapmak istiyorsanız en iyi bahis Çerçeve içine bakmaktır.

Ben PHP baştan bu kadar basit yapmak isterdim. Kod öylesine düzgün olmazdı.

Ben güzel olacağını düşünüyorum, ancak herhangi bir PHP daha olmaz ...

Tabii, $somestring->length() güzel ama, flipside üzerinde, gerek $somestring = new String('asdf...') Bir dize yapmak ve daha sonra sürekli tersi dizelere dizeler dönüştürmek ve ne zaman. Muhtemelen şeyler yazmak zor ve yapma sonunda uzun vadede korumak.

Gerçekten PHP dili hiç bu şekilde değişen görmüyorum - bu temel dilin çok fazla değiştirecek. Eğer böyle bir dil istiyorsanız, yerine dil değiştirmek için umut daha, dillerini değiştirmek zorunda gidiyoruz.

Bunu neden yaptığını anlıyorum, ama nothing else yanısıra "programcı kolaylaştırmak" yok kütüphaneler ve soyutlamalar benim düşünceme göre zaman kaybı vardır. Onlar kabartmak konum, nadiren verimli konum ve hatta biraz iddialı demektir.

PHP emin olmak için, arızaların bir yeri vardır, ama gittiğiniz her yerde onlar için geçici çözümler icat çalışırsanız daha iyi yerde harcanan olabilir çok zaman harcarsınız.