![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 | |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.217
|
Ich habe eine Datei, in der ich global Variablen definiere (per include() eingebunden). Diese möchte ich nun in einer Klasse nutzen: PHP-Code: Zitat:
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! | |
| | |
| | Nach oben #2 |
| Corvin Gröning Registriert seit: 19.03.2005 Ort: S-H | Flensburg
Beiträge: 449
|
Hi, so könntest du das machen: Code: <?php
class mysqlconnection
{
public $db_host = "";
public $db_database = "";
public $db_username = "";
public $db_pass = "";
function __construct($_CONFIG) {
$this->db_host = $_CONFIG['host'];
$this->db_database = $_CONFIG['database'];
$this->db_username = $_CONFIG['login'];
$this->db_pass = $_CONFIG['passwd'];
}
}
$mysql = new mysqlconnection($_CONFIG);
?>
__________________ |
| | |
| | Nach oben #3 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.217
|
ok, das klappt prima, aber nun interessiert mich warum function __construct($_CONFIG) automatisch aufgerufen wird?
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
| | |
| | Nach oben #4 |
| Corvin Gröning Registriert seit: 19.03.2005 Ort: S-H | Flensburg
Beiträge: 449
|
Das ist der Konstruktor der Klasse. In PHP 4 hat man dem Konstruktor den selben Namen wie der Klasse gegeben, seit PHP 5 gibt es aber __construct().
__________________ |
| | |
| | Nach oben #5 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.217
|
ok - das ist dann soweit klar. verstehe ich das Handbuch auf http://de2.php.net/construct richtig, dass der Destructor dann automatisch zum Ende aufgerufen wird? Ich könnte damit also die sql-Verbindung beenden? Bzw. wofür wäre der sinnvoll?
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
| | |
| | Nach oben #7 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.481
|
Ein Konstruktor ist imho nur dann sinnvoll, wenn ein Objekt z.B. in Zeile 34 das letzte Mal verwendet wird und das Script noch einige Hundert Zeilen mehr abarbeitet. Ein expliziter Aufruf des Konstruktors am Ende des Scripts ist unnötig, da das Objekt sowieso nur bis zum Ende des Scripts "lebt". Grüße Ben. |
| | |
| | Nach oben #8 | |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.217
| Zitat:
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! | |
| | |
| | Nach oben #9 | ||
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.481
| Zitat:
| ||
| | |
| | Nach oben #10 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.217
|
du weißt - ich hätte dir das geglaubt, nur ... das passte nicht zu dem was ich dem Handbuch entnommen hatte.... gut - also zurück zum Destruktor. Du (Ben) sagst, dass sich dieser nur lohnt, wenn die Klasse relativ früh beendet ist (und das Skript noch ne Weile lebt), weil die Klasse mit der letzten Zeile eh stirbt... also wäre ein Destruktor, der die Verbindung zum sql-Server beendet sinnfrei? Abgesehen davon, dass ich das so mitbekommen habe, dass mysql_close() eigentlich eh nicht notwendig ist, wenn man nur eine Verbindung herstellt... richtig, oder liege ich daneben?
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
| | |
| | Nach oben #11 | |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.481
| Zitat:
PHP-Code: Grüße Ben. | |
| | |
| | Nach oben #12 | |
| Benutzer Registriert seit: 17.08.2005
Beiträge: 87
|
php wacht selbst schon über die (meisten) resourcen. Was am Ende des Skripts noch rumliegt wird abgebaut. Das gilt für mysql-Verbindungsresourcen genauso wie für selbsterstellte Klassen bzw. die zugehörigen Objekte. PHP-Code: Zitat:
Wenn Du z.B. eine einzige sql-Abfrage am Anfang des Skripts hast und die restliche Abarbeitung ...kA, vielleicht 2 Minuten dauert, dann liegt zwei Minuten lang die Verbindung nutzlos rum. Das kann zum problem werden und dann musst Du eingreifen. Ansonsten kannst Du eingreifen, um es Puristen recht zu machen - musst Du aber nicht p.s.: uh, der [php]-Block mag keine Tabulatoren // edit by Jann Hendrik: danke für den Hinweis - ich wußte leider nicht, woran es liegt... muss aber geändert werden (bzzgl. tab) | |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| php variable in JS anzeigen | Galge | JavaScript und AJAX | 9 | 28.03.2007 14:44 |
| [Smarty] Variable in variable aus Konfigurationsdatei umwandeln? | thrawn | PEAR, PECL und Frameworks | 9 | 20.07.2006 11:52 |
| [PHP] FTP-Funktionen in PHP nutzen | MrNiceGuy | Tutorials | 0 | 24.05.2006 14:18 |
| [Realisierung] [Brainstroming] Variable Wertanzahl | Du-weisst-schon-wer | Datenbanken | 5 | 08.01.2006 20:41 |
| Variablennamen mit Variable. | Creativ | PHP-Programmierung | 9 | 30.11.2005 08:40 |