Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Methoden und ihre Parameter [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Methoden und ihre Parameter


 
praetorian
18-10-2002, 10:12 
 
Hi Leute,

hab mal wieder ein Problem.
Und zwar ich bin grad dabei wie ein wilder Klassen
zu schreiben. Ich hab allerdings ein Problem. Ich will
dem Coder die möglichkeit geben eine Methode aufzurufen
Ihr Parameter zu übergeben oder wenn er will auch nicht.

Beispiel:



function opentable($bord)
{
$this->bord=$bord;
echo "<table border=\"$this->bord\" bordercolor=\"#e7e7e7\" cellspacing=\"0\" cellpadding=\"2\" width=\"590\">\n";
}




der user kann jetzt z.B.

$object->opentable(1);

aufrufen.

aber wenn er z.B. kein parameter angibt wie:

$object->opentable();

will ich das das auch funktioniert. Ohne das ich die Meldung bekomme "Missing Argument ....."

geht das?

 
goth
18-10-2002, 10:17 
 
Dann solltest Du die Parameter vorbelegen:

function opentable($bord=1) {
return "blah";
}

oder, von meinet wegen, auch:

function opentable($bord=NULL) {
return "blah";
}

 
praetorian
18-10-2002, 10:20 
 
Das heißt quasi

wenn ich Sie vorbelege braucht der User überhaupt keine Parameter angeben? Aber kann?

 
goth
18-10-2002, 10:22 
 
Genau das ... und es gibt keine Fehlermeldung wenn er's nicht tut ... ;)

 
niknormal
17-07-2003, 17:36 
 
Da hab ich noch einen draufzusetzten.

Bei einer Methode in einer klasse kann ich bei mir hier anscheinend nicht den Parameter wie folgt vordefinieren:

class dummdidumm{

var $test = "auto";

function car($hallo = $this->test)
{
...
}

}

scheint nicht zu funktionieren. Muss ich da irgendwas beachten oder ist das schlichtweg nur nicht möglich?

Gruss nik

 
Abraxax
17-07-2003, 17:40 
 
man kann es nicht mit einer var vorbelegen. du musst es schon direkt reinschreiben

 
niknormal
17-07-2003, 17:41 
 
Ok danke, dann weiss ich jetzt worans lag =)

Gruss nik

 
mrhappiness
17-07-2003, 19:39 
 
du kannst aber das ding mi NULL verbelegenund innerhalb der funktion prüfen, ob's NULL is und wenn ja dein $this->test reinschreiben

 
Dummi
17-07-2003, 19:43 
 
probiers mal so :D
class dummdidumm{

var $test = "auto";

function car($hallo = 1)
{
if($hallo == 1) $hallo = $this->test;
...
}

}

mist da war einer schneller :)

 
niknormal
17-07-2003, 19:45 
 
Danke danke, aber so hat ich das auch gelöst, ich fand nur das der andere Ansatz etwas eleganter aussah, wobei ich aber halt nur nich beachtet hatte das man da keine Variablen einsetzten kann :rolleyes:

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:58 Uhr.