Typenerkennung für die PDT

stso

Mitglied
Hallo,
ich hab folgendes (Luxus-)Problem:
Ich entwickle zur Zeit eine PHP-anwenung mit Eclipse+PDT. Folgendes Beispiel veranschaulicht mein Problem:

PHP:
		$db1 = new Zend_Db_Adapter_Pdo_Mssql();
		$db1-> // Funktionen der Klasse Zend_Db_Adapter_Pdo_Mssql werden abgerufen.
		$db2 = Zend_Registry::get('_DB');
		$db2-> // keine Funktionen werden abgerufen.

Wenn ich für das Object $db1 die Objektmethoden aufrufen möchte reicht es wenn ich "->" schreibe um darauf zuzugreifen.
Bei dem Object $db2 geht das aber leider nicht, da dieses in der Zend_Registry abgelegt wurde. Nun weis wahrscheinelich Eclipse nicht um was für eine Objecttyp/ um welche Klasse es dich beim Objekt $db2 handelt.
Gibts es eine Möglichkeit dem Objekt $db2 einen Objecttyp bzw. eine Klasse zuzuordnen, sodass ich ohne umwege auf die Methoden des Objects zugreifen kann?
 
Es ist bedingt möglich. Im Folgenden eine Möglichkeit. Die jedoch sieht nicht nur unschön aus, sondern hat noch diverse andere Nachteile (minimaler Performance-Einfluss, erhöhter Interpreter-Aufwand, etc):
PHP:
$dbc = Zend_Registry::get('_db');

if ( 0 ) {
	$dbc = new Zend_Db_Adapter_Pdo_Mssql();
}

$dbc->closeConnection();

Ich bin der Meinung, dass ich in einer früheren Installation auf einem anderen Rechner sogar über PHP-Doc den Typ vorschlagen konnte, in etwa so:
PHP:
/**
 * @var Zend_Db_Adapter_Abstract_Pdo_Mssql()
 */
$dbc = Zend_Registry::get('_db');
Leider kann ich das aber nicht (mehr) reproduzieren.

Für die Entwicklung aber sollte der erste Ansatz genügen. Du könntest dir beispielsweise einen Kommentar über den always-fails-if packen mit einem TODO, oder einer sinnvollen Identifikation, so dass du über ein Clean Up beim Veröffentlichen (oder was auch immer du anstellen möchtest) den darunterliegenden Block entfernen lässt.
 
Zurück