php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.09.2004, 22:50   #1 (permalink)
Erfahrener Benutzer
 
Registriert seit: 08.06.2004
Beiträge: 865
RudiS
Standard Problem mit optionalen Parametern bei Funktion in Klasse

Hallo,
ich habe ein Problem mit optionalen Parametern bei einer Funktion in einer Klasse:
Code:
  class mySQL
   {
    var $link;
    
    var $host;
    var $user;
    var $password;
    var $database;
    
    function connect($host = $this->host, $user = $this->user, $password = $this->password) // hier liegt das Problem
     {
      $this->link = mysql_connect($host, $user, $password);
      if (!$this->link)
       {
        $this->error();
       }
     }
     ...
    }
Wenn ich das so mache, gibt er mir diese Fehlermeldung aus:
Code:
Parse error: parse error, unexpected T_VARIABLE in /Library/WebServer/Documents/mySQL.php on line 13
Wie kann ich das umgehen? Danke schonmal für alle Antworten.
mfg RudiS
__________________
Kunst kommt von Können und nicht von wollen, denn sonst würde es ja Wunst heißen.
RudiS ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.09.2004, 23:04   #2 (permalink)
Gast
 
Beiträge: n/a
Standard

Das geht nicht. Vordefinierte Parameter müssen konstante Werte sein - keine Variablen also..


gruß
  Mit Zitat antworten
Alt 23.09.2004, 23:11   #3 (permalink)
Erfahrener Benutzer
 
Registriert seit: 08.06.2004
Beiträge: 865
RudiS
Standard

Das ist natürlich schlecht. Gibt es da noch eine Alternative oder nicht?
Danke trotzdem für die Antwort.
mfg RudiS
__________________
Kunst kommt von Können und nicht von wollen, denn sonst würde es ja Wunst heißen.
RudiS ist offline   Mit Zitat antworten
Alt 23.09.2004, 23:44   #4 (permalink)
Gast
 
Beiträge: n/a
Standard

Warum machst du den es nicht so:

PHP-Code:
function connect($host$user$password)
{

//Falls du die Variablen $host, $user, $password nochmals brauchst:
$this->host $host;
$this->user $user;
$this->password $password;
//

$this->link mysql_connect($this->host$this->user$this->password);

//Aber es funktioniert auch dies:
$this->link mysql_connect($host$user$password);

//... weiterer Code

  Mit Zitat antworten
Alt 24.09.2004, 00:49   #5 (permalink)
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.599
imported_Ben
Standard

wenn er jetzt keine parameter beim aufruf übergibt .. dann kommt auch keine verbindung zustande.

ich muss ehrlich gestehen, dass ich mich mit der OOP bei PHP 5 noch nicht beschäftigt habe (fast nicht) ... wenn es möglich ist funktionen zu überladen, dann ist es ja kein problem.

musst du eben mal nachschauen.

grüße ben
__________________
www.schaengelland.de - immer auf dem neuesten Stand!
imported_Ben ist offline   Mit Zitat antworten
Alt 24.09.2004, 01:04   #6 (permalink)
Gast
 
Beiträge: n/a
Standard

Dachte überladen wäre sowas:

function foo($host = 'localhost')
{
.....
}
function foo($host = 'localhost', $port = '3306')
{
.....
}
function foo($host = 'localhost', $port = '3306', $pw = 'xxx')
{
....
}

und php sucht dann je nachdme wieviele parameter übergeben werden die "richtige" funktion raus?!

Zumindest kenn ich das aus c++ so
  Mit Zitat antworten
Alt 24.09.2004, 09:03   #7 (permalink)
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.599
imported_Ben
Standard

Zitat:
Zitat von Bierchen
Dachte überladen wäre sowas
ich hab gar nicht behauptet, dass es das nicht ist.

Zitat:
Zitat von Bierchen
und php sucht dann je nachdme wieviele parameter übergeben werden die "richtige" funktion raus?!
das war ja gerade meine frage ... es muss ja schon von PHP angeboten werden, damit man es auch verwenden kann. klar.

grüße ben.

edit:
http://de2.php.net/functions

Zitat:
PHP unterstützt weder das Überladen von Funktionen, noch ist es möglich, zuvor deklarierte Funktionen neu zu definieren oder die Definition zu löschen.
__________________
www.schaengelland.de - immer auf dem neuesten Stand!
imported_Ben ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
funktion innerhalb einer Klasse mit call_user_func aufrufen phpbeginner PHP Tipps 2008 8 22.05.2008 16:20
[Erledigt] Problem mit ereg Funktion! Horvi PHP Tipps 2008 7 20.05.2008 14:29
mail - Funktion u. Klasse Stümper PHP Tipps 2006 7 02.03.2006 22:06
[Erledigt] Multidimensionales Array in Klasse Problem PHP-Fortgeschrittene 11 07.01.2006 22:26
aus einer funktion auf funktion anderer klasse zugreifen seejay PHP Tipps 2006 3 05.01.2006 10:37
problem mit einer methode in einer klasse PHP Tipps 2007 4 18.12.2005 16:14
funktion in klasse ruft funktion in anderer klasse auf phpfortgeschrittener PHP Tipps 2005 6 17.04.2005 17:47
Problem mit Übergabe einer Klasse in PHP4 PHP-Fortgeschrittene 10 08.01.2005 21:00
problem mit der "die" funktion aircrash PHP Tipps 2005 2 08.01.2005 19:44
Problem mit Umsetzung einer Funktion Datenbanken 1 20.12.2004 14:37
problem mit update funktion aircrash PHP Tipps 2004-2 3 17.11.2004 16:55
Problem beim Registrieren von Session-Variablen in Klasse zwelch PHP-Fortgeschrittene 6 18.10.2004 08:07
Problem bei einer Klasse mit "hat" beziehung PHP Tipps 2004 4 06.10.2004 21:29
copy - Funktion bereitet Problem PHP-Fortgeschrittene 5 04.09.2004 22:54
Problem mit mail() - Funktion PHP Tipps 2004 2 06.07.2004 18:21


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:08 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.