PHP tip ipucu ile dinamik dönüş türü?

2 Cevap php

Standart bir yöntem için, ben bir gibi yorumlarda dönüş türü belirtebilirsiniz biliyorum:

/**
 * Load this entity from the database with the specified primary key.
 * @param int $Key
 * @return BaseEntity
 */
public static function Load($Key)
{ ... }

Ben alt sınıfına bağlı olarak dönüş türü değişikliği istiyorum. Gibi bir şey:

 * @return __CLASS__

Ben PHP için herhangi bir seçenek var mı başka dillerde, bu vb şablonları kullanarak başarılı olabilir?

2 Cevap

Hayır, bu kodu oluşturmak için bir şey kod değil sürece.

Bu yorum, onlar kod çalışır biçimini değiştirmek olmaz. Onlar belgeleri oluşturmak için kod ipuçları için IDE tarafından kullanılan veya PHPDoc ile olabilir. Bu uygulamalar ne istediğiniz gibi bir şey yapmanın yolları olabilir, onların belgelerini kontrol edin. Yorum, ancak, kod çalışır şekilde etkilemez.

Siz tabiri caizse, sizin BaseEntity SubclassEntity, diyelim ki, genişletmek ve arayüzü sıkın istiyorum. Ancak, tightening arayüz breaking senin arayüzü.

Kavramsal olarak, Load her zaman gerçekten SubclassEntity biliyorum olsalar bile, bir BaseEntity dönmelidir. Eğer iade nesne bilmek eğer gerçekte, o zaman hemen sonra bu eklemek, bir SubclassEntity olduğunu:

$obj = $container->Load(123); /* @var $obj SubclassEntity */