php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.02.2005, 00:48  
Gast
 
Beiträge: n/a
Standard Klassen in Klassen verwenden

Ich will eine Warenkorb Klasse schreiben. In dieser Klasse benötige ich aber weiter Klassen, wie z.B. die mysql.class.php und user.class.php
Wie binde ich nun die Klassen ein?
Soll man das in dieser Art machen?
PHP-Code:
<?php
class warenkorb
{
    function 
warenkorb()
    {
        
$this->obj_user = new user;
    }
}
?>
Dann würde ja ein Aufruf einer Funktion, einer anderen Klasse in etwa so aussehen: $this->obj_user->set_id()
Wenn ich das so machen müsste, wäre das für mich etwas sehr umständlich. Gibt es da noch eine andere Möglichkeit eine Klasse in eine andere einzubinden? Ich glaube Vererbung ist hier auch nicht angebracht.
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 23.02.2005, 12:41  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

was ist daran das problem?
$this->obj_user->set_id()

abgesehen davon, dass man vieleicht global einmalig mysql und jenachdem wie dein system aufgebaut ist auch user definiert und dann zeiger setzt. so z.b.

PHP-Code:
<?php
class mysql()
{
.....
}
class 
warenkorb()
{
    var 
$mysql;
    function 
warenkorb(&$mysql)
    {
        
$this->mysql $mysql;
    }
}
$DB = new mysql;
$WK = new warenkorb($DB);
?>
so als ansatz, dann brauchst du nicht innerhalb jeder klasse die du benutzt ne neue instanz von $DB
robo47 ist offline  
Alt 23.02.2005, 13:05  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.818
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

richtig:
PHP-Code:
<?php
    
function warenkorb(&$mysql)
    {
        
$this->mysql = &$mysql;
    } 
?>
sonst kopierst du die referenz trotzdem und hast 'zwei' objekte.
axo ist offline  
Alt 23.02.2005, 13:23  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

ups jo :P

was erreiche ich dann eigentlich mit

$DB = &new mysql;
robo47 ist offline  
Alt 23.02.2005, 13:59  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.818
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

teste ich heut abend - ehrlich gesagt werde ich nie wirklich verstehen, wann man jeweils ein & braucht und wann nicht - meiner faulen erfahrung nach hat sich aber erwiesen, dass ein paar &s mehr besser ist als ein & zu wenig ... und glücklicherweise ergibt sich dieses problem mit php5.
axo ist offline  
Alt 23.02.2005, 14:08  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

:P :P


habe
$DB = &new mysql;

in der art schon öfters gehsen, baer nie verstanden was für einen sinn es macht, beim erstellen einer klasse ein & zu verwenden, weil ich ja auf nix explizit verwiese,


hmm, mir fällt grad was ein, ist nur ne idee, aber werde ich heute abend wohl mal testen,

wenn ich sowas mache:
PHP-Code:
<?php
$DB 
= &new mysql($var1,$var2);
?>
und die Klasse wie folgt definiert ist:

class mysql()
{
var $_var1;
var $_var2;

function mysql($var1,$var2)
{
if(!empty($var1))
{
$this->_var1 = $var1;
}
if(!empty($var2))
{
$this->_var2 = $var2;
}
}
}

dann irgendwo im quelltext

$DB2 = new mysql('','');

verwende, die werte durch den pointer am anfang, schon fest in der klassedefinition (natürlich nur innerhalb des scriptaufrufes) fest sind, sprich sämtlcihe dinge die ich für $DB mache, sind in anderen instanzen der klasse die ich danach erstelle schon vorhanden.

mfg
robo47
robo47 ist offline  
 


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
Klassen und externe Funktionen ? ssm PHP-Fortgeschrittene 17 18.07.2007 11:59
Klassen sinnvoll nutzen, Grundlegendes nikosch PHP-Fortgeschrittene 1 30.09.2006 22:08
Fragen zu Klassen Kein Genie PHP Tipps 2006 3 08.05.2006 11:25
Sessions an includete Klassen übergeben Dr_Enquinox PHP Tipps 2006 4 29.04.2006 10:25
tutorial bez�glich klassen f�r dummies? Promaetheus PHP Tipps 2006 22 29.03.2006 20:01
mit html klassen definieren und in php ausgeben PHP-Fortgeschrittene 4 16.01.2006 10:31
[Erledigt] PHP 4 - Klassen? patr1k PHP Tipps 2005 10 18.11.2005 10:48
Klassen Fatal Error PHP Tipps 2005-2 3 19.10.2005 15:31
Klassen - Anfangsaufgaben PHP Tipps 2005-2 2 25.09.2005 16:28
Klassen und OOP Problem PHP-Fortgeschrittene 3 08.09.2005 10:37
klassen und methoden anderer klassen in methoden.... PHP Tipps 2005 17 25.05.2005 09:46
Klassen PHP Tipps 2005 5 09.04.2005 18:51
Klassen in PHP PHP Tipps 2004 4 12.08.2004 13:17
Klassen?! PHP Tipps 2004 14 03.06.2004 17:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
klassen in klassen, klasse innerhalb klasse, klassen-klassen, klasse in klasse verwenden, klassen in klasssen, klassenaufruf in klasse, php klasse von klasse, verwenden von klassen in klassen, html klassen in klassen, php warenkorb beispiel classe, &new mysql(, klasse innerhalb der klasse, classen innerhalb von klassen, klassen mit klassen, klassen in klassen benutzen, wann klassen verwenden, php user class, klassen in klassen?, http://www.php.de/php-tipps-2005/18396-klassen-klassen-verwenden.html, klassen in klassen verwenden?

Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, 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.