php.de

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

 
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 1,00 durchschnittlich.
Alt 21.09.2006, 19:02  
Neuer Benutzer
 
Registriert seit: 20.09.2006
Beiträge: 15
dope_dope
Standard PHP5 __get und__set

Hi Leute,

zum Einstieg in die OOP mit PHP5 habe ich folgende Klasse geschrieben:

PHP-Code:
class Name {
    private 
$vorname;
    private 
$nachname;

    public function 
getVorname()
    {
        return 
$this->vorname;
    }

    public function 
getNachname()
    {
        return 
$this->nachname;
    }

    public function 
setVorname($vorname)
    {
        
$this->vorname $vorname;
    }

    public function 
setNachname($nachname)
    {
        
$this->nachname $nachname;
    }

    public function 
Ausgabe()
    {
        echo 
"Der Name lautet: " $this->getVorname() . " " $this->getNachname();
    }


}
$PeterPan = new Name();
$PeterPan->setVorname(Peter);
$PeterPan->setNachname(Pan);
$PeterPan->Ausgabe(); 
Nun zu meiner Frage:
Mit Hilfe der Methoden getVorname und getNachname kann ich auf die Werte der private-Variablen Vorname und Nachname auch außerhalb der Instanz der Klasse Name zugreifen. Das Gleiche gilt für die setter.
Kann ich die Interzeptormethoden __get($variable) und __set($variable, $wert) von PHP5 dazu benutzen mir die selbstgeschriebenen getter und setter zu sparen und wenn ja wie?
dope_dope ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 21.09.2006, 19:06  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

was sind __get() und __set() ?
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline  
Alt 21.09.2006, 21:27  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard Re: PHP5 __get und__set

Zitat:
Zitat von dope_dope
Kann ich die Interzeptormethoden __get($variable) und __set($variable, $wert) von PHP5 dazu benutzen mir die selbstgeschriebenen getter und setter zu sparen und wenn ja wie?
Natürlich kannst du das. Wie? Einfach prüfen, ob das angefagte Attribut vorhanden ist und den Wert (oder eben null) zurückgeben. Kannst auch die Werte in ein ass. Array packen.

Ich mach das allerdings nie. Da bin ich dann doch lieber penibel als zu faul, die drei Zeilen Code runterzutippen.

Basti

Zitat:
Zitat von Freeaak
was sind __get() und __set() ?
Schonmal daran gedacht, ins Handbuch zu sehen?
http://php.net/manual/en/language.oop5.overloading.php
Basti ist offline  
Alt 21.09.2006, 21:54  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: PHP5 __get und__set

Zitat:
Zitat von Basti
Zitat:
Zitat von Freeaak
was sind __get() und __set() ?
Schonmal daran gedacht, ins Handbuch zu sehen?
http://de2.php.net/manual/en/languag...verloading.php
natürlich. habe aber nicht wirklick was gefunden...
Freeaak ist offline  
Alt 21.09.2006, 22:07  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Nach was hast du denn gesucht?

http://php.net/results.php?q=__get&p=manual&l=en

Basti
Basti ist offline  
Alt 21.09.2006, 22:09  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

genauso hatte ich gesucht. kein ergebnis....seltsam
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline  
Alt 21.09.2006, 22:20  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Du meinst damit, dass du nicht als erstes Ergebnis obigen Link bekommst, wenn du in das Suchformular im Manual "__get" eingibst und "online documentation" als Suchraum auswählst (oder einfach selbigen Begriff auf Google oder Yahoo ansetzt)?

Ich vermute, du hast einfach aus Versehen deinen Router ausgeschaltet und nicht bemerkt, das du garnicht onine warst *g

Nix für ungut ... aber ... keine Ahnung, wie man das nicht finden kann.
Basti
Basti ist offline  
Alt 21.09.2006, 22:24  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich habe auf der index-seite von php.net in das feld __get eingegeben und auf all php.net sites gesucht.
danach habe ich mich hier
http://de2.php.net/manual/en/language.oop.php
etwas durchgeklickt und auch nichts gefunden...
Freeaak ist offline  
Alt 21.09.2006, 22:47  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Krass - ich hab grad mal deutsch im Accept-Language-Header meines Browsers nach vorne gesetzt und dann bekomme ich auch kein Suchergebnis. Allerdings ist die Einstellung gerade für das php-Manual eh nicht prickelnd, da man ja sonst immer die deutsche Version der Referenzseiten bekommt, wenn man php.net/<func_name> anfordert - und die sind ja nicht selten fehlerhaft oder zumindest veraltet.

Würde mich aber wundern, wenn google und co mit deinen Einstellungen auch keine Ergebnisse bringen würden. Aber abgesehen davon gibt es sicher Hunderte von Seiten darüber und noch viel mehr Wege, in wenige Sekunden daran zu kommen. Aber klar - hier fragen ist natürlich auch einer davon. Aber auch klar, dass dann einige hier den Kopf schütteln, warum du nicht einfach selbst im Netz nachschaust.

Basti
Basti 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
php5 braucht 4 mal so lange wie php4? CC84 PHP Tipps 2006 4 12.04.2006 09:55
PHP5 erkennt kein PHP5!? DaOnkel PHP Tipps 2006 4 14.03.2006 11:56
[Erledigt] Seit PHP5 - vB sehr Langsam PHP Tipps 2006 3 02.03.2006 10:11
[Erledigt] IIS6 mit PHP5 / CGI-Timeout PHP Tipps 2006 3 01.02.2006 14:00
Apache2 + php5 sehr langsam!! Klaus Server, Hosting und Workstations 13 19.11.2005 09:43
Php4 vs php5 PHP-Fortgeschrittene 10 27.10.2005 00:38
[Erledigt] PHP5 mit Apache zum Laufen bringen... PHP Tipps 2005-2 11 22.10.2005 17:52
php4 und php5 gleichzeitig test022 Server, Hosting und Workstations 13 24.08.2005 10:25
SOAP in PHP5 für NuSoap deaktivieren PHP-Fortgeschrittene 2 03.08.2005 18:23
php5 nicht abwärtskompatibel? PHP Tipps 2005 12 27.05.2005 06:30
php4 und php5 auf einem indianer Server, Hosting und Workstations 2 22.05.2005 18:06
suche gut erklärtes Tutorila zu php5 und oop Beitragsarchiv 24 03.03.2005 12:38
[Erledigt] Unterschiedliche Ergebnisse: PHP4 / PHP5 PHP-Fortgeschrittene 2 03.01.2005 00:45
[Erledigt] Erfahrung mit PHP5 / Stabilität PHP-Fortgeschrittene 3 30.08.2004 12:48
[Erledigt] Unterschied zw. PHP4 und PHP5 PHP Tipps 2004 5 23.08.2004 08:42

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php __get, __get, __get php, php __get __set, php5 __get, php __get(), php5 getter setter, php __set __get, php5 getter, __get(), php $__get, php oop __get, $__get, __get __set php, php5 setter, php5 get set, php5 __set, php 5 __get, php5 setter getter, php 5 setter

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:51 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.