php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.03.2007, 23:04  
Benutzer
 
Registriert seit: 04.08.2006
Beiträge: 34
Exakt
Standard Verständliche Tutorials für OOP gesucht!

Hallo,

wer kennt verständliche und OOP-Tutorials mit sinnvollen Anwendungsbeispielen?

Ich habe z.B. eine Community vor und include bisher auf jeder Seite die Datei "basic.php" mit allen Datenbankangaben und (normalen) Funktionen.

Es hilft mir schon wenn mir jemand sagen kann, was für Einsatzgebiete in einer Community mit OOP besser realisierbar sind als mit klassischen Funktionen ala function sendmessage($from,$to,$content)...
Exakt ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 25.03.2007, 00:08  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

wie gefehlt dir besser einen user in deiner community darstellen?
als ein array mit namen, alter ....
und 20 functionen die ungeordnet in quellcode liegen und nur für die darstellung und verarbeitung von den user dienen

ODER
als einen Object, den du mit namen ($user->getName()) ansprechen kannst und
eine nachricht an den anderen user etwa so:
$user1->mesage($user2,$mesage_string);
sendet?

ist dieser Beispiel sinnvoll ?
Es wäre unmöglich in einem Beitrag alle vorteile und nachteile von OOP zu beschreiben, aber in jedem fall würde ich empfehlen in die Thema einarbeiten.
ein bekanter von mir schreibt jetzt ein tutorial
http://www.peterkropff.de/site/oop/oop.htm
und versucht die Grundkonzepte von OOP in einer verständlicher form beizubringen. Ich hoffe, dass es was für dich ist.
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 25.03.2007, 00:25  
Benutzer
 
Registriert seit: 04.08.2006
Beiträge: 34
Exakt
Standard

Danke für den Link - das könnte echt was Gutes werden!

Die Funktionen liegen ja schon alle zentral in der "basic.php" und nicht wild irgendwo in den Quellcodes...

Mit Funktionen lassen sich meine Sachen soweit alle ganz gut lösen, nur will ich den Code bestmöglich optimieren und dachte da eben an OOP.

Der Aufruf von "profil.php?user=123" wird intern so abgearbeitet:

1. include("basic.php");
2. Überprüfung von "user" auf Richtigkeit mit RegEx
3. datenbank(); (Funktion aus basic.php die zur DB connected)
4. Abfrage ob User existiert und Daten in $row laden
5. Ausgabe wie z.B.

echo "<div class=profil>
<div class=username>".$row['username']."</div>
<div class=alter>".$row['alter']."</div>
</div>";

Welchen Vorteil hätte ich da mit OOP???
Exakt ist offline  
Alt 25.03.2007, 00:40  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

Zitat:
Zitat von Exakt
Für mich stellt sich halt die Frage nach dem Nutzen... ich will es nicht unnötig kompliziert machen und OOP sieht für mich nunmal kompliziert aus.
Alles neues ist kompliziert.
OOP hat auch Nachteile bei PHP, die mit Performance verbunden sind.
Aber wenn deine Anwendung nicht besonders belastet wird, dann ist natürlich OOP für die Projecte am bestens geeignet.
Lese ein paar Tutorials durch und dann können wir schon über ein oder anderen Aspekt von OOP viel besser mit ein ander diskutieren. Es ist eben leichter zu erklähren, wie man ein Zahnrad einbaut, als wie man ein Auto konstruiert .
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 25.03.2007, 03:40  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

OOP hat überall den Nachteil, dass es mit Performance verbunden ist OOP hat den Vorteil, dass es (wenn man es einmal durchschaut hat) weniger fehleranfällig ist, weil man durch bessere Struktur und Allem besser wartbar ist.
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 25.03.2007, 06:21  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

Zitat:
Zitat von KingCrunch
OOP hat überall den Nachteil, dass es mit Performance verbunden ist
bei den sprachen, die quellcode in binere programmen compilieren gibt es fast kein performance unterschied.
Ich will damit sagen, das OOP-Sprache wie C++ nach dem kompilieren kaum von einer nicht OOP-sprache C unterscheidet.
PHP ist eine Interpreter-sprache, die erst zur laufzeit quellcode zum laufen bringt und sogar grosse kommentare in php-scripten können auf die performance schlagen.
Also OOP! bitte schön, aber nicht da wo es zu eng sein könnte.
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 25.03.2007, 10:31  
Erfahrener Benutzer
 
Registriert seit: 17.06.2008
Beiträge: 125
squig befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

@Slava Richte deinem Kollegen doch bitte aus, dass seine Beispiele einem beim Lesen des Textes zum Schmunzeln bringen.

Habe ihn eben mehr überflogen als im Detail aufgesogen, aber die Erklärungen sind mir nen Bookmark wert.


Bis dääähne

squig
squig ist offline  
Alt 25.03.2007, 13:31  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

Zitat:
Zitat von squig
Hallo,

@Slava Richte deinem Kollegen doch bitte aus, dass seine Beispiele einem beim Lesen des Textes zum Schmunzeln bringen.

squig
Ok!
jeder empfindet eine Information anderes.
Ich kann zbs bei dem tutorial, dass er geschriben hat die Farbenkombination nicht leiden.

Also kann ich dir gerne auch im forum helfen eine oder andere Technik von OOP verstehen. schwieriger wird es wenn jemand garr nichts verstanden hat.

ein Versuchsorry für mein Deutsch)

Alles beginnt mit Konzept.
Um zu verstehen was ein Object ist, muss man ein paar Fragen beantworten.

1)Was ist ein Ding ?
an erster stelle ist ein Ding allse was sprachlich gesehen ein artikel die, der oder das hat.
so ein Ding heist in OOP ein Object

2)Was hat ein Ding? aus welchen Teilen ein Ding besteht?
aus anderen Dingen wie farbe, material, alter und und und...
diese Teile, die ein Ding hat nennt man Eigenschaften( auch in OOP).
diese Dings-Teile können einfach zu beschreiben sein,
z.b.s für Alter passt ein "int" gut, aber die Dings-Teile können auch komplex werden und sind auch Objecte, da die einfache datentypen wie string, float oder int für diese Beschreibung nicht ausreichen.
Also die Eigenschaften sind sprachlich gesehen auch alle Teile, die ein artikel die, der oder das haben.

3) was macht ein Ding?
hier gehört alles, das sprachlich gesehen ein verb ist.
schwimmen, springen, laufen, denken, über die berge kletern, und und und.
Alles was ein Ding macht, wird mit funktionen beschrieben.
diese funktionen heisen bei OOP Methoden.
3.1) Wenn wir aber ein neuer Ding erzeugen, wollen wir ein paar Intialisierungen machen und unser Ding konstruieren. Wir können z.b.s
alter und farbe von unserem Ding setzen.
diese funktion(Methode) heist Konstruktor.
bei meisten Programmiersprachen hat diese Methode die gleiche Name wie unser Object( also in unserem Fall "Ding"). In php4 ist es auch wie in anderen sprachen, aber seit version 5 heist diese function komische weise __construct


trennlinie
-------------------------------
Wie können Wir ein Ding beschreiben? und zwar so, das die Andere das verstehen!!!
Wir machen ein Plan, und beschreiben die Eigenschaften(Dings-Teile) und die Methoden(was unser Ding macht) und vergeben unserem Ding ein eindeutige Name.

In OOP heist dies Plan eine Classe.
und ich werde erst syntax von php4 verwenden.
PHP-Code:
class Ding//Name vergeben
//hier ist der Platz für eigenschaften
  
var $dingfarbe;// Eigenschaft die farbe beschreibt.
  
var $alter;//Eigenschaft alter; 
//ende von Eigenschaften;

//jetzt komm konstruktor,
//hier bauen wir unser Ding zusammen
/*wir übergeben die farbe und alter von aussen und setzen diese werte
**in unsere Eigenschaften var $dingfarbe und var $alter
**um unsere Methoden und Eigenschaften von den variablen die von **aussen kommen
**aus einander zu halten, benutzen wir $this->, und bezeichnen dadurch **die variable als unsere interne Objectvariable oder methoden
*/
function Ding/*wie unsere classe*/($dingfarbe$alter){
$this->$dingfarbe/*unsere dingfarbe*/=/*die farbe die von aussen kommt*/$dingfarbe;
//und  das gleiche mit dem alter
$this->alter=$alter;
}
//ende von Konstuktor

//hier ist ein platz für die Methoden(was ein Ding macht!)
//Methode springen
  
function springen(){
  
/*hier beschreiben wir springen*/
  
echo "ich springe";
 }
 
//Methode sprechen
  
function sprechen($was){
   echo 
$was;
 }

}
//ende von  Ding-Beschreibung 
ein Bauplan für ein Ding ist damit fertig.
obwoh manche Leute behaupten, dass die Objecte nicht der realität entsprechen müssen, behaupte ich gegenteil.
ein Ding ist sehr abstract, aber wenn wir es Begriffen haben, dann ist er real wie ein Brötchen auf dem Tisch.
PHP-Code:
//ein neuer ding wird mit [b]new[/b] erstellt
$variable_die_wir_als_ding_benutzen= new Ding("rot",20);
//und jetzt spielen wir ein wenig
echo $variable_die_wir_als_ding_benutzen->dingfarbe."</br>";
echo 
$variable_die_wir_als_ding_benutzen->alter."</br>";
$variable_die_wir_als_ding_benutzen->springen();
$variable_die_wir_als_ding_benutzen->sprechen("na! geht doch"); 
ich hoffe, dass mein beitrag nicht für noch mehr verwierung gesorgt hat.
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 25.03.2007, 15:45  
Erfahrener Benutzer
 
Registriert seit: 17.06.2008
Beiträge: 125
squig befindet sich auf einem aufstrebenden Ast
Standard

Oh, ich hoffe Du hast mich nicht falsch verstanden, ich mag die Art der Beispiele und eben diese bringen mich zum Schmunzeln.

Durchweg positiv gemeint
squig ist offline  
Alt 25.03.2007, 17:52  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

ich habe dich richtig verstanden.
Und finde gut, dass es dir gefehlt.
Ich habe einfach bei Verständnis von einem oder anderem Tutorial mich zu abstrakt ausgedrückt. (sprachschwäche )
Ich wollte nur sagen, dass es von vielen Faktoren abhängig ist ein passender Tutorial zu finden.
Jeder von uns sieht der Welt ein wenig anderes.
__________________
Slava
http://bituniverse.com
Slava 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
Wiki für Tutorials David Board-Support 28 30.07.2008 11:21
pimps mit hirn gesucht Beitragsarchiv 12 20.08.2005 18:42
Redakteure für sehr großes Projekt gesucht Beitragsarchiv 1 19.08.2005 01:57
PHP Programmierer und Grafiker für größeres Projekt gesucht Beitragsarchiv 9 11.08.2005 22:56
Script gesucht: Bibliothekverwaltung Beitragsarchiv 2 25.07.2005 17:42
Tutorials gesucht für totale Anfänger [Delphy] Beitragsarchiv 5 12.05.2005 22:56
Habe mich zu tode gesucht aber so richtig finde ich keine A. tm-net PHP Tipps 2005 20 01.03.2005 01:29
Party-Community Programmierer gesucht => Bezahlung Beitragsarchiv 7 14.02.2005 18:49
Tutorials, Buchempfehlung, Webseiten zum Thema Grafik Beitragsarchiv 2 27.11.2004 19:27
Unterricht in PHP / MySQL im Raum Kiel gesucht Beitragsarchiv 5 20.10.2004 08:43
einfaches PHP-Forum gesucht BITTE HELFEN PHP Tipps 2004 4 10.07.2004 22:57
[Erledigt] GFX Tutorials Off-Topic Diskussionen 2 26.06.2004 20:37

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
versteh oop nicht, oop login tutorial, oop verstehen, http://www.php.de/php-tipps-2007/43774-verstaendliche-tutorials-fuer-oop-gesucht.html, tutorial oop php, oop php tutorial, php oop tutorial, c oop tutorial, kiel php oop, tut oop php, sendmessage verständlihe erklärung, php4 oop tutorial, wann ist oop besser, php tutorial oop farbe, php oop verständlich, oop gut verständliches tutorial php, php oop einführung, php oop tutorials, oop hat-eine, oop vorteile nachteile

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