Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Applikationen Probleme mit Anwendungsprogrammen aller Art gehören hier hin.

netbeans,php und objekte!

Diskussion: netbeans,php und objekte! im Forum Applikationen, in der Kategorie Software Home; Anzeige Heyho folgendes problem anhand von beispielcode erklärt. PHP-Code: class  foo  {   public function  doSomething () {       $var  = new  bar ( ...

Like Tree2Likes
  • 1 Post By GrafZahl
  • 1 Post By Oi!Alex

Antwort
Alt 05.07.11, 21:34   #1 (permalink)
Member of Honour
 
Benutzerbild von easteregg
 
Registriert seit: 14.09.07
easteregg Leistung: Pentium Ieasteregg Leistung: Pentium I
easteregg eine Nachricht über ICQ schicken
Likes: 62
Standard netbeans,php und objekte!

Anzeige

Heyho

folgendes problem anhand von beispielcode erklärt.

PHP-Code:
class foo {
  public function 
doSomething() {
     
$var = new bar("fapfapfapfap");
     return 
$var;
  }
}

class 
bar {
  public function 
doSomethingElse() {
     echo 
"uuuuaaaaaahhhh .... *smoke* :D";
  }

wenn ich jetzt im netbeans die codecompletion nutzen möcht funktioniert das mit foo noch einwandfrei.

sprich

PHP-Code:
$obj = new foo();
$obj-> 
schlägt mir die methoden des objekts vor. soweit so gut.

PHP-Code:
$obj = new foo();
$muh $obj->doSomething();
$muh-> 
schlägt mir jetzt aber nicht "doSomethingElse" vor und netbeans kann daher nix damit anfangen.

jetzt wäre meine frage, kann ich netbeans ggf. mit hilfe von dem phpdoc oder dergleichen verklickern, dass ich es hier _IMMER_ mit dem objekt bar zu tun habe und dementsprechend vorschläge für die completion bekomme?

ich hoffe mein problem is verständlich
__________________
» Flattr mich! - Wenn dir mein Beitrag geholfen hat! «
<| 2 AMD Opterons 2384@ 8x3,2ghz | Tyan S2915 | 10GB | 2x 8800GT | 8400GS | Dell 3008WFP + 2x2007FP |>
easteregg ist offline   Mit Zitat antworten
Alt 06.07.11, 02:59   #2 (permalink)
Member of Honour
 
Benutzerbild von GrafZahl
 
Registriert seit: 28.05.10
GrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: Opteron
Likes: 210
Standard

php ist, auch in version 5, nicht typsicher ... ohne ablaufanalyse kann deine IDE nicht wissen welchen typ das ergebnis deiner funktion hat ... und der konkrete ablauf steht ggf. erst zur laufzeit fest ...

beispiel:
PHP-Code:
function doSomething($x) { 
if(
$x>5)
$var = new bar("fapfapfapfap"); 
else
$var = new meh("Meh!");
return 
$var

wie ist der typ von dem was zurück gegeben wird?
beavisbee likes this.
__________________
Code:
:(){ :|:& };:
Veritas Aequitas
GrafZahl ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 06.07.11, 07:55   #3 (permalink)
 
Registriert seit: 17.01.06
Oi!Alex Leistung: 8086
Likes: 7
Standard

Das geht tatsächlich mit phpdocs

/**
*@return bar
**/
public function...

@GrafZahl
Da gebe ich dir Recht trotzdem kann man mit PHP5 ordentlich programmieren d.h. Eine Funktion gibt nur einer bestimmte Klasse bzw. Interface zurück. Im validen Fall das eine Funktion mehrere unterschiedlichen Klassen zurück liefern kann muss man mit instanceof arbeiten dann erkennt auch Netbeans von welchen Typ die variable ist.
Das ist natürlich kein Vergleich mit C oder Java...

Sent from my HTC Desire using Tapatalk
beavisbee likes this.

Geändert von Oi!Alex (06.07.11 um 08:00 Uhr)
Oi!Alex ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Applikationen » netbeans,php und objekte!
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61