php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.11.2011, 17:30  
Neuer Benutzer
 
Registriert seit: 08.11.2011
Beiträge: 5
PHP-Kenntnisse:
Anfänger
mcflash befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Objekte - Warum und wie funktioniert das?

Hallo Community,

ich habe in einem auf dem Zend Framework basierenden Programm und heute in der Doku zu Symfony2 folgende Aufrufe gesehen:

PHP-Code:
$finder = new Finder();
$finder->name('photos*')->size('< 100K')->date('since 1 hour ago'); 
Mir ist nicht klar, wie und warum das so funktioniert.

Ich weiß, dass man mit -> auf Objektvariablen/-funktionen zugreifen kann, aber diese Verkettung verstehe ich nicht wirklich. Hoffentlich kann mir das jemand erklären!

LG,
mcflash
mcflash ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.11.2011, 17:31  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

http://en.wikipedia.org/wiki/Method_chaining
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 08.11.2011, 17:57  
Neuer Benutzer
 
Registriert seit: 08.11.2011
Beiträge: 5
PHP-Kenntnisse:
Anfänger
mcflash befindet sich auf einem aufstrebenden Ast
Standard

Danke für den Link! Das hat mir wirklich schon sehr geholfen!!!

Ich hatte schon gedacht, dass man auf diese Weise erreicht, dass die zuletzt aufgerufene Funktion ihr Ergebnis an die zu vorletzt aufgerufene (und so weiter) übergibt, sodass in dem von mir angegebenen Beispiel ein Filter realisiert wird.

LG,
mcflash
mcflash ist offline   Mit Zitat antworten
Alt 08.11.2011, 17:58  
Erfahrener Benutzer
 
Registriert seit: 02.09.2009
Beiträge: 1.019
PHP-Kenntnisse:
Fortgeschritten
mquadrat befindet sich auf einem aufstrebenden Ast
Standard

Für die Funktionen ist Chaining transparent. Macht keinen Unterschied, ob man das so wie oben schreibt oder eben

PHP-Code:
$finder->name('photos*');
$finder->size('< 100K');
$finder->date('since 1 hour ago'); 
Vorausgesetzt natürlich, dass die Methoden jeweils $this zurückgeben
__________________
Wir suchen PHP Entwickler (Vollzeit) im Raum Darmstadt / Rhein-Main. Infos via E-Mail mueller@new-frontiers.de
mquadrat ist offline   Mit Zitat antworten
Alt 08.11.2011, 18:01  
Neuer Benutzer
 
Registriert seit: 08.11.2011
Beiträge: 5
PHP-Kenntnisse:
Anfänger
mcflash befindet sich auf einem aufstrebenden Ast
Standard

Ok, ich verstehe. Hatte schon in allen meinen Büchern nachgesehen, aber das wurde nirgendwo erwähnt.

Und wieder was gelernt! Dann ist heute ja schonmal ein erfolgreicher Tag!

LG,
mcflash
mcflash 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
[Erledigt] Werte von Datei A an Funktion von Datei B funktioniert nicht Susi25 PHP Einsteiger 8 20.08.2011 15:47
.htaccess funktioniert nicht im Server? Aceh PHP Einsteiger 2 21.05.2011 15:42
jQuery Autocomplete AutoFill funktioniert nicht Atikos JavaScript, Ajax und mehr 15 12.04.2011 16:16
unlink() funktioniert nicht Chacky PHP Einsteiger 6 17.02.2011 16:22
[Erledigt] str_replace funktioniert nur lokal Cogax PHP Tipps 2010 19 27.10.2010 21:28
Code funktioniert plötzlich nicht mehr nach Serverumzug Hawk PHP Tipps 2010 4 18.08.2010 08:12
Verschlüsselung funktioniert nicht richtig netmario PHP Tipps 2010 2 19.05.2010 22:57
[Erledigt] Browsergame : Objekte auf einer Karte BlackScorp Software-Design 10 01.04.2010 09:59
Verschachtelte Objekte und Vererbung GELight PHP-Fortgeschrittene 1 11.12.2009 09:09
mod_rewrite mit slash/ohne slash funktioniert nur teilweise taurus Server, Hosting und Workstations 4 13.09.2009 12:57
[ERLEDIGT]PHP while-Schleife für Ausgabe funktioniert plötzlich nicht fuckinghot19 PHP Tipps 2009 6 05.06.2009 22:28
[Erledigt] Umlaute ersetzen funktioniert nicht richtig BlackSpirit PHP Tipps 2009 19 20.04.2009 12:04
send button funktioniert nicht, finde fehler nicht selma123 PHP Tipps 2008 3 17.09.2008 11:57
Dateien erstellen oder schreiben funktioniert nicht im Web PHP Tipps 2004-2 1 05.12.2004 19:39
[Erledigt] Referenzen auf Objekte PHP-Fortgeschrittene 2 17.08.2004 11:08


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