akso. deshalb auch die überschrift trashed noob postings wat nen vogel
einführung zu oop mit php5
Einklappen
X
-
Original geschrieben von 3DMax
lennie, du bist ein fuchs.Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
var_dump(), print_r(), debug_backtrace und echo.
Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.
Kommentar
-
Hi,
so ich hatte nun die zeit um mir das mal genauer anzuschauen.
Im großen und ganzen gefällt mir das sehr gut und auch die
art wie es geschrieben wurde. Es richtet sich wirklich an
anfänger und ist IMHO für diese veständlich. Die details, die du
im einsteigertutorial mit absicht ausser acht lässt, sollten
aber auf jeden fall im fortgeschrittenen teil auftauchen.
Nun zu meinen anmerkungen.
1)
Die Pseudovariable $this
$this ist eine echte variable. Die besonderheit ist, dass sie konstant
ist und in jedem objekt existiert. Sie enthält immer eine referenz
auf das aktuelle objekt. (natürlich alles nur in php5)
2)
Überprüfung
Da hat sich ein typo eingeschlichen.
PHP-Code:$doerte = new Mensch;
$doerte_tmp = $doerte;
$doerte_tmp = setGeschlecht('weiblich');
3)
Vererbung
Da hat du ganz unglücklich deine beispiele gewählt.
Du kannst nicht Mensch von Telefon ableiten. Die Ableitung
stellt eine "is-a"-Beziehung dar. Ein mensch ist aber doch
kein telefon!!!! In anderen sprachen könnte man protected ableiten
und so eine has-a beziehung modellieren, aber das geht hier nicht.
Ein mensch hat ein telefon (nicht so schön, weil nicht jeder mensch
eins hat) oder (besser) ein mensch nutzt ein telefon.
Dann leitest du restaurantkritiker einfach von mensch ab. Das
ist richtig, denn restaurantkritiker sind auch nur menschen.
4)
Statisches
Das ist viel für den leser, vll hilft es ihm zu sagen dass $self im klassenbreich das ist was $this im objektbereich ist. Also ein alter
bekannter . Nur eben mit deinen worten.
5)
Fehlerbehandlung
Da hat sich wieder ein typo eingeschlichen:
Unter dem Punkt Wozu OPP?
So das war erstmal das gröbste.
Im fortgeschrittenen tutorial sollten vor den weitegehenden
themen auf jedenfall noch die grundbegriffe "Nachrichten", "Empfänger",
"Sender" auftauchen. Die sind elementar für jede umsetzung
von OOP.
greets(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Kommentar
-
Da hat du ganz unglücklich deine beispiele gewählt.
$this ist eine echte variable
Die details, die du im einsteigertutorial mit absicht ausser acht lässt, sollten aber auf jeden fall im fortgeschrittenen teil auftauchen.
gruß
peterNukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Kommentar
-
so einer deiner nörgelköppe ist komplett durch. voher keinen blassen schimmer von klassen.
nacher immernoch nicht nein nein ich habe den gröten teil verstanden.
Da ich voher noch nichts wusste, weis ich, was ich besser erklärt gebraucht haben sollte und was sehr gut ist.
meine kleine kritik wirst du also gegen ende dieser woche erhalten.Webdesign und Webentwicklung - Plunix.de
Kommentar
-
Original geschrieben von Lennie
meine kleine kritik wirst du also gegen ende dieser woche erhalten.Sunshine CMS
BannerAdManagement
Borlabs - because we make IT easier
Formulargenerator [color=red]Neu![/color]
Herkunftsstatistik [color=red]Neu![/color]
Kommentar
-
Original geschrieben von Kropff
und warum nennen das dann alle pseudovariable?
gelesen. Könnte vll. daher rühren dass es sich eben um eine
konstante variable handelt. Aber $this is tatsächlich variabel.
Sie refernziert ja immer andere objekte, je nachdem wo sie verwendet
wird. Hmm, das könnte auch der grund sein dass manche sie
pseudovariable nennen, weil der selbe bezeichner abhängig vom
kontext unterschiedliche werte referenziert.
greets(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Kommentar
-
Ich hab das auch noch nie gehört oder gelesen
gruß
peterNukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Kommentar
-
$this heißt Pseudovariable, weil es immer auf das Objekt selber referenziert. Sie ist deshalb keine wirkliche Variable (insofern nur, als dass sich das Objekt verändern könnte). Außerdem ist das auch nur innerhalb von Klassen möglich.
bzgl. "konstanten variablen": Der Ausdruck "konstante Variable" ist ein Oxymoron und als solcher ein Widerspruch in sich.
Entweder etwas ist veränderbar oder konstant. Beides geht aus Gründen der Logik nicht.
Von einer "konstanten Variablen" spricht man bei Klassen i.d.R. von Klassenkonstanten. Die kann man mit const definieren. Ich bezweifle, dass man $this eine "konstante Variable" nennen kann.Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
var_dump(), print_r(), debug_backtrace und echo.
Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.
Kommentar
-
Hi,
ja, wenn man das öfter liesst dann benutz auch den terminus.
Vll findet man das in php-literatur häufiger. Die lese ich nur
selten.
Original geschrieben von Shurakai
bzgl. "konstanten variablen": Der Ausdruck "konstante Variable" ist ein Oxymoron und als solcher ein Widerspruch in sich.
Entweder etwas ist veränderbar oder konstant. Beides geht aus Gründen der Logik nicht.
auch aus rein logischer sicht ist das kein widerspruch.
Denn $this ist variabel. Allerdings darf man* nur einmal
einen wert zuweisen und von da an ist dieser nicht mehr veränderbar.
Welchen wert man allerdings nimmt ist relativ egal.
Von daher ist es eine variable.
*
Mit "man" ist hier der interpreter bzw. die laufzeitumgebnung gemeint.
Der user hat da keinen einfluss drauf.(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Kommentar
-
mal eine ganz dumme frage
public
protected
private
hat public nun die höchste oder nidrigste sichtbarkeit?
gruß
peterNukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Kommentar
-
Da public überall sichtbar ist, hat es die höchste.Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
var_dump(), print_r(), debug_backtrace und echo.
Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.
Kommentar
-
habe ich auch gedacht nur einige leute definieren das mal wieder als nidrigste.
gruß
peterNukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Kommentar
Kommentar