art-d-sign
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 19.01.2003, 19:56   #1
TP-Veteran
 
Benutzerbild von holunda
 
Registriert seit: Oct 2001
Ort: Oberau
holunda macht alles soweit korrekt
Talking

Newsklasse bewerten


HI Leute!

MUss mich in OOP ein wenig fit machen.
Wie schaut die KLasse aus? Ist was falsch bzw. unsinnig?
Was kann man besser machen, was erweitern?

PHP-Code:
class News{
    
    var 
$conn 0// Verbindungshandler
    
var $news_tpl "news.tpl"// News Template
    
var $table "news"// Newstabelle
    
var $limit 5// Anzahl sichtbare News
    
    
function openConnection(){
        
$server['host'] = "localhost"// DB Host
        
$server['user'] = "***"// DB User
        
$server['pass'] = "***"// DB Pass
        
$server['db'] = "***"// DB Name
        
$this->conn mysql_connect($server['host'],$server['user'],$server['pass'])
            or die (
"Konnte Verbindung nicht herstellen<br>Fehler: ".mysql_error());
        
mysql_select_db($server['db'])
            or die (
"Konnte DB ".$server['db']." nicht ansteuern<br>Fehler: ".mysql_error());
    }
    function 
newNews($name,$titel,$autor,$text,$linktext,$link){
        
$sql "INSERT INTO ".$this->table." (name,titel,autor,zeit,text,linktext,link) VALUES ('$name','$titel','$autor',NOW(),'$text','$linktext','$link')";
        
mysql_query($sql,$this->conn)
            or die (
"Konnte Daten nicht eintragen<br>Fehler: ".mysql_error());
    }
    function 
showNews(){
        
$template $this->news_tpl;
        
$sql "SELECT * FROM ".$this->table." ORDER BY 'id' DESC LIMIT 0,".$this->limit;
        
$result mysql_query($sql,$this->conn)
            or die (
"Konnte News nicht laden<br>Fehler: ".mysql_error());
        while (
$record mysql_fetch_array ($result)){
            
$newsstr implode ('',file($template));
            
$newsstr str_replace('{Autor}',$record['autor'],$newsstr);
            
$newsstr str_replace('{Titel}',$record['titel'],$newsstr);
            
$newsstr str_replace('{Zeit}',$record['zeit'],$newsstr);
            
$newsstr str_replace('{Text}',$record['text'],$newsstr);
            
$newsstr str_replace('{Link}',"<a href=\"".$record['link']."\">".$record['linktext']."</a>",$newsstr);
        }
        @
mysql_free_result($sql);
        return 
$newsstr;
    }
    function 
closeConnection(){
        
mysql_close($this->conn)
            or die (
"Konnte Verbindung nicht schließen<br>Fehler: ".mysql_error());
    }

aja, und könnte mir irgendwer nochmal die Vorteile von OOP erklären, ich meine, Funktionen kann ich auch wo anders einfügen, muss ja nicht gleich eine KLasse sein oder? Was sind also die genauen Vorteile?

danke Alexander
__________________
Gruß vom holu
holunda ist offline   Mit Zitat antworten


Alt 20.01.2003, 14:04   #2
TP-Veteran
 
Benutzerbild von holunda
 
Registriert seit: Oct 2001
Ort: Oberau
holunda macht alles soweit korrekt
keiner? Wäre wichtig muss nämlich heute noch damit weiterarbeiten ...

Alex
__________________
Gruß vom holu
holunda ist offline   Mit Zitat antworten
Alt 20.01.2003, 16:15   #3
TP-Supporter
 
Benutzerbild von papo
 
Registriert seit: Sep 2002
Ort: Münster NRW
papo macht alles soweit korrekt
Hallöchen,

was mich stört ist die Verwendung von die(); in der Klasse;
Die Einsetzbarkeit wird dadurch ein wenig reduziert. Wenn ich das ganze in eigene Projekte einbinden möchte, und nur durch einen Fehler bei den News der Rest nicht mehr ausgeführt wird fände ich das lästig.
Ich würde hier
1. Die Ausgabe der php-eigenen Fehlermeldungen unterdrücken, mit @ vor den betreffenden Funktionen.
2. Evtl. Eine Klasseneigene Variable setzen die den Verbindungsstatus ($connected = 0 oder 1) enthält.
3. Die Ausgabe der News von dieser Variablen abhängig machen z.B. mit if ($connected).
4. Eine eigene Fehlermeldung ausgeben wenn die Verbindung fehlschlägt.


Zu OOp:
..) Bessere Wiederverwendbarkeit des Scripts.
..) Jede Klasse bekommt ihren eigenen Namensraum.
..) Aus dem selben Grund hat man es leichter bei der Namensgebung
..) Man gibt sich automatisch mehr Mühe bei der Programmierung (und das stimmt wirklich
..) Neue Objekte / Klassen können von bestehenden Abgeleitet werden (Vererbung)...

Generell hängt es aber eher vom zu lösenden Problem ab, ob es sich lohnt Objektorientiert zu Programmieren.

Gruß, Paul
__________________

Mein Schreibtisch ist offline
papo ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Newsklasse bewerten Newsklasse bewerten
« Shoutbox Live Open Source | Idiotensicheres ASP-Mailform-Skript gesucht »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:29 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67