Java Tip-Döküm Çözüm PHP Eşdeğer

2 Cevap java

PHP hiçbir özel sınıf tipi döküm olduğundan, nasıl bu Java kod PHP eşdeğer yapıyor hakkında gitmek istiyorum:

CustomBaseObject cusBaseObject = cusBaseObjectDao.readCustomBaseObjectById(id);
((CustomChildObject) cusBaseObject).setChildAttribute1(value1);
((CustomChildObject) cusBaseObject).setChildAttribute2(value2);

Benim durumumda, ben bu very güzel yapabilirdi olsaydı. Ancak, tip-döküm desteği olmadan bu çalışıyor, bana yöntemler nesne için var olmadığı bir hata verir.

Teşekkürler,

Steve

2 Cevap

Bunu yapmanın doğru yolu uygun çocuk üretir cusBaseObjectDao::readCustomBaseObjectById() bir fabrika yapmak için. Bundan sonra PHP dynamic language çünkü döküm gerek yoktur.

PHP sadece yöntemleri diyoruz. Türü bir çalışma zamanı niteliktir:

$baseObj = $baseObjDao->readById($id);
$baseObj->setChildAttribute1($value1);
$baseObj->setChildAttribute2($value2);

Java statik (ve kuvvetli) yazdınız. PHP dinamik (ve zayıf) yazdınız. Dolayısıyla, sadece nesnelerin metodlarını çağırır ve doğru tip değilse, bir çalışma zamanı hatası elde edersiniz.