php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.03.2010, 07:47  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Zitat:
Ein Konstruktor kann angegeben werden, wenn bei Instanziierung weitere Funktionalität ergänzt werden soll
...weil ansonsten ein Standardkonstruktor verwendet wird!

Aber was solls, laßt es uns halbherzig erklären, damit wir gespannt dem nächsten Thread entgegefiebern, der da heißt:
"Wie kann ich beim initialisieren einer Klasse die Eigenschaften automatisch setzen?"

Und da kommt dann als Antwort: Lerne Grundlagen!
Super Sache
Arne Drews ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 16.03.2010, 16:19  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Nimms nicht persönlich. Aber ich finde
- dass man sich Klassen mit leeren Konstruktoren sparen kann, weil man das mal irgendwo gehört hat, dass die einen braucht.
- dass es schlecht ist, sich sowas grundlegendes falsch einzuprägen. Zumal sich die Systematik magischer Methoden viel besser erschliesst, wenn man den Konstruktor als eine solche erkennt.

Viele Objekte kann man auch super über Property-Zuweisung initialisieren, was im Kontext von Klassenvererbungen für einen Anfänger erstmal logischer erscheinen kann, wenn man ein Objekt als Reale-Welt-Ding mit bestimmten Eigenschaften begreift und die Klasse als dessen Schablone.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--

Geändert von nikosch (16.03.2010 um 16:22 Uhr).
nikosch ist gerade online  
Alt 16.03.2010, 16:58  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Persönlich nehm' ich nix...
Du hast dem TE und evtl. anderen Lernenden hier imho das Gefühl vermittelt, daß bei objektorientierter Klassenprogrammierung ein Konstruktor generell unwichtig ist.

Das sehe ich halt anders.
Klar, daß man keinen leeren Konstruktor definieren muß, das' Blödsinn.
Sehe ich genau wie Du und wahrscheinlich wie viele andere auch.

Aber ohne Konstruktor kommt eine Klasse definitiv nicht aus, denn was macht ein Standard-Konstruktor?
Zitat:
Er richtet Speicher für das Objekt ein, stellt die in der Klassendefinition spezifizierten Variablen/Eigenschaften und Methoden hinein und gibt eine Objektreferenz an das Programm zurück. (sehr allgemein gesagt!)
Und das gehört für mich absolut zu den Grundlagen der OOP!
Alles andere kann der TE googeln, aber diese Hinweise sollten schon sein...
Arne Drews ist offline  
Alt 16.03.2010, 17:06  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Naja, das kann man sehen wie man will. Dass K. keine Rückgabewerte erlauben, spricht für Deine Aussage, dass Sie aber eigentlich auch die Rückgabe der Objektinstanz ignorieren wiederum für meine.
Das Manual sagt
Zitat:
PHP 5 allows developers to declare constructor methods for classes. Classes which have a constructor method call this method on each newly-created object, so it is suitable for any initialization that the object may need before it is used.
, also tendenziell eher meine Aussage: Der Konstruktor erzeugt nicht das Objekt, sondern wird bei der Erzeugung aufgerufen. Dafür spricht auch, dass ein Konstruktor kein Objekt erzeugt, wenn man Ihn direkt als Methode aufruft - dafür ist eben der new-Operator da. Noch deutlicher wird es, wenn man vergelichsweise __destruct betrachtet: Hier wird auch nicht das Objekt gelöscht.
Deshalb ist der Terminus "Standardkonstruktor" eigentlich auch Quatsch, es sei denn, man geht davon aus, dass bei der Instanziierung implizit immer ein Konstruktor aufgerufen werden muss.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 16.03.2010, 17:16  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Zitat:
Deshalb ist der Terminus "Standardkonstruktor" eigentlich auch Quatsch, es sei denn, man geht davon aus, dass bei der Instanziierung implizit immer ein Konstruktor aufgerufen werden muss.
Ja gut, ich persönlich definiere es so.
Mag man aber durchaus auch so interpretieren, wie Du.

Wobei die die Instanziierung im Hintergrund ja durchaus durchgeführt wird... Nur von wem, wenn nicht vom Konstruktor...
Hmmm... Unendliche Geschichte, wa...

Have a break!?
Arne Drews ist offline  
Alt 16.03.2010, 17:19  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Vom new-Operator eben

Yes.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
 


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
CHarset und Probleme mit IE KeKs0r HTML, Usability und Barrierefreiheit 10 26.01.2010 21:59
[Erledigt] fopen() Probleme jN^ PHP Tipps 2009 2 18.08.2009 12:31
[Erledigt] Firefox / IE - Probleme HTML, Usability und Barrierefreiheit 5 20.07.2009 17:04
[Erledigt] Probleme mit iFrame rocco HTML, Usability und Barrierefreiheit 1 28.12.2008 17:44
Probleme bei Speicherung von serialize() Strings Manni2k PHP Tipps 2006 13 15.10.2006 15:06
Probleme mit mbstring extension unter Debian HStev Server, Hosting und Workstations 3 30.08.2006 20:55
Probleme mit Rechteverteilung chmod() per script!!!??? Funky_ PHP Tipps 2006 7 17.06.2006 17:10
Probleme beim Datenupload zu meiner Datenbank Datenbanken 3 05.09.2005 19:47
Probleme mit Sonderzeichen... Datenbanken 1 02.08.2005 23:37
[Erledigt] hilfe! probleme mit... PHP Tipps 2005 4 12.04.2005 22:55
[Erledigt] CSV Größe macht Probleme mit php PHP Tipps 2005 5 15.03.2005 21:29
Zwei Rechner ins Netz - Router - Hub - Probleme... imported_Ben Off-Topic Diskussionen 37 13.01.2005 21:36
[Erledigt] Technische Probleme mit Sessions PHP-Fortgeschrittene 4 18.11.2004 14:45
[Erledigt] Probleme mit Fremdsprachen HTML, Usability und Barrierefreiheit 2 21.09.2004 17:11
PHP Bilder in DB / Probleme bei Änderung PHP-Fortgeschrittene 1 05.06.2004 11:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
was leistet php konstruktor

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