SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Entwicklung und Softwaredesign

PHP Entwicklung und Softwaredesign Hier können strukturelle (Programmier-) Konzepte diskutiert und Projekte vorgestellt werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 01.05.2007, 17:53:02
oRigin oRigin ist offline
Anfänger
 
Registriert seit: Apr 2007
Beiträge: 9
MySQL class

Hallo!

Ich bin eher auch noch ein Anfänger in Sachen PHP und OOP, aber trotzdem hab ich mich mal hin gesetz und habe eine Klasse für MySQL User programmiert.
Immoment bin ich bei V1.2, also nich sehr weit, aber die elementaren Sachen sind schon verfügbar.

Erst einmal der link, wo man sich die Klasse runterladen kann:

Klasse downloaden

Also, zur Funktionsweise der Klasse:

- DB_Read('Tabelle','Spalte','Wert')
1. de Tabelel aus der man lesen will
2 + 3. Die Spalte aus der gelesen werden soll mit dem dazugehörigen Wert

- DB_Insert('Tabelle','Spalte','Wert')
das gleiche wie oben, nur dass das man etwas einfügt ;-)

- DB_Update('Tabelle','Set_Spalte','Set_Wert','Cond_Spalte','Cond_Wert')
1. immer noch die Tabelle
2+3. diesmal die Spalten die man updaten will also neu "setten"
3+4. die bedigungen ( spalten + werte ), damit man weiß welche Zeile man updaten will


es werden auch explizit selbstgenerierte Fehlermeldungen ausgegeben!
rein technisch werden überprüft:
- Ob die angegebene Tabelle existiert
- Ob die angegbenen Felder existieren
- Ob Spalten und Werte sich decken
- Ob Werte in den Parametern stehen
- etc.

erst einmal die wichtigsten

Falls jemand lust hat, kann er sie bitte mal ausprobieren, weil ich mir nicht sicher bin ob sie bugfrei ist.
Also wenn es geht, bitte mir Fehler und/oder Verbesserungsvorschläge und/oder Erweiterungsvorschläge melden. Danke!
wenn die Klasse einwandfrei funktioniert stelle ich sie SelfPHP natürlich selbstverständlich zur Verfügung :- )

Gruß oRigin

PS: um die eigenen DB - Werte ( also User, Pass, Database etc.) zu ändern bitte Klasse öffnen und die ersten 4 variablen ändern!
Diese sind immoment nur auf einen Apache - Server abgestimmt.

Geändert von oRigin (01.05.2007 um 17:55:29 Uhr) Grund: Wichtiges vergessen
Mit Zitat antworten
  #2  
Alt 01.05.2007, 20:10:33
Opendix Opendix ist offline
Senior Member
 
Registriert seit: Oct 2004
Ort: Werdenberg / Schweiz
Alter: 35
Beiträge: 1.476
AW: MySQL class

Allgemein Verbesserungsvorschläge:

1. Überflüssigen Code kannst du die sparen
z.B. wird der Konstruktor nicht benötigt
PHP-Code:

// Konstruktor        
  
public function MySQL()
  {
  } 
2. Code-Kommentare
Allgemein dokumentiere ich meine Klassen immer mit PHPDoc-Kommentaren.. sprich sowas:

PHP-Code:
/**
 * Beschreibung der Klasse
 *
 * @author     Stefan Schöb
 * @package  OpendixCMS
 * @version    1.0
 * @copyright Copyright © 2006, Stefan Schöb
 * @since       1.0
 */
class Blaaa
{
   
//...

Das ganze zählt natürlich auch für Funktionen und Klassenvariabeln auch wenn diese als private deklariert sind!

3. Exceptions verwenden
Ist vielleicht jetzt meine Ansicht, aber wenn ich solche Klassen programmiere, die ja nur was für mein Script machen sollen, will ich nicht, dass bei einem Fehler das Script stehen bleibt... das erzwingst du aber durch z.B. folgende Zeile:
PHP-Code:
 die("<br><b>Verbindung zum MySQL-Server konnte nicht hergestellt werden!</b>"); 
besser wäre hier aus meiner Sicht:
PHP-Code:
throw new Exception('Verbindung konnte nicht hergestellt werden'); 
Dann kann man im Script, wo man diese Klasse verwendet selbst auf die Fehler eingehen!

4. Benennung der Parameter
Irgendwoe hab ich mal gelesen, dass die globalen Variabeln wie folgt benennt werden sollten:
$_BLABLA

Ist natürlich dir überlassen, aber ich finde deine Parameterbenennung irgendwie eher verwirrend (aber geschmackssache *g*)

5. Strings

hmm ich find den Post hier im Forum nicht mehr, aber irgendwo wird genau beschrieben, wann man " und wann ' verwenden sollte...

PHP-Code:
$_DBCond "";
$_DBSet "";
$_DBError ""
Dafür müsste man auf jeden Fall ' anstatt " verwenden (der Geschwindigkeit zu liebe :))

6. Allgemein Konstruktoren
.. werden ab PHP 5 so gemacht:

PHP-Code:

function __construct()
{
   
//bla bla :)

So öhm ja.. sonst fällt mir gerade nichts ein, zum Testen hab ich grad keine Zeit, und ob das alles sinvoll ist weis ich auch nicht, aber vielleicht helfen dir ja diese Tipps bei deinem weiteren Lernvorgang weiter ;)
__________________
Opendix lehnt jegliche Haftung für evtl. vorhandene Fehler in der Grammatik sowie der Satzstellung ab! Bitte wenden Sie sich an die Tastatur!

Betatester gesucht:
Skiclub Gams / CEVI Grabs
Mit Zitat antworten
  #3  
Alt 16.05.2007, 14:21:27
oRigin oRigin ist offline
Anfänger
 
Registriert seit: Apr 2007
Beiträge: 9
AW: MySQL class

Hallo

PHP-Code:
/**
 * Beschreibung der Klasse
 *
 * @author     Stefan Schöb
 * @package  OpendixCMS
 * @version    1.0
 * @copyright Copyright &copy; 2006, Stefan Schöb
 * @since       1.0
 */ 
Gibt es zu dieser Beschriftung ein richtiges System? Sprich eine Internetseite wo steht wie man das am besten macht?
was macht eigentlich das @?

Was ist eigentlich besser?
'throw new Exeption' oder dass man eine Klasse programmiert, die die Error aufnimmt und ausgibt?

Und wenn man eine Ausnahme macht, bleibt das Script doch auch stehen bzw. es wird abgebrochen?
Ist da ein unterschied?

Hat jemand von euch vllt. eine Seite, wo man fortgeschrittenes PHP lernen kann?
Die Grundlagen kann ich ja eigentlich, aber mich dürstet nach mehr wissen
--> eigene potentiell gute Klassen programmieren
--> gute Übersicht
--> gutes System
--> verständiss welches Script schneller, langsamer ist
--> etc.

Kann mir da jemand helfen?

Gruß oRigin
Mit Zitat antworten
  #4  
Alt 16.05.2007, 14:29:16
MatMel MatMel ist offline
Member
 
Registriert seit: Aug 2005
Beiträge: 644
MatMel eine Nachricht über ICQ schicken
AW: MySQL class

Eine wirklich tolle Seite dazu hab ich noch nicht gefunden, aber diese hilft in manchen von den Sachen, die du angesprochen hast, weiter:
http://www.professionelle-softwareen...ocumentor.html
Mit Zitat antworten
  #5  
Alt 20.05.2007, 02:27:47
Opendix Opendix ist offline
Senior Member
 
Registriert seit: Oct 2004
Ort: Werdenberg / Schweiz
Alter: 35
Beiträge: 1.476
AW: MySQL class

jo, diese Seite finde ich auch noch gut.. ansonsten einfach mal bei google suchen... man findet überal mal wieder einen Artikel..

Zitat:
Gibt es zu dieser Beschriftung ein richtiges System? Sprich eine Internetseite wo steht wie man das am besten macht?
was macht eigentlich das @?
Ein System, nun ich denke man sollte für sich selbst entscheiden, was sinvoll ist, und was den Quellcode unnötig aufbläst!
Das "@" bezeichnet meinswissens einen Tag, welcher vom PHPDocumentor ausgewertet wird.

Zitat:
Was ist eigentlich besser?
'throw new Exeption' oder dass man eine Klasse programmiert, die die Error aufnimmt und ausgibt?
Öhm.. was meinst du mit einer Klasse, die den Fehler aufnimmt und ausgibt?

Zitat:
Und wenn man eine Ausnahme macht, bleibt das Script doch auch stehen bzw. es wird abgebrochen?
Ist da ein unterschied?
Nun gehen wir davon aus, dass du die Klasse MySql programmiert hast... diese kannst du nun ja in jedem von deinen Scripts verwenden um auf Mysql-Daten zuzugreiffen....
Wenn du nun da drin mit "die('Fehlermeldung..')" das Script abbrichst kannst du mit diesem Fehler nichts anfangen...
Folgendes kannst du jedoch machen, wenn du Exceptions verwendest:
PHP-Code:
try
{
    
$mysqlObject = new MySql();
    
$mysqlObject -> connect();
    
//kA, einfach irgendwas machen *g*
}
catch(
Exception $ex)
{
    
//Sollte nun keine Verbindung möglich sein, wird die Exception geworfen und du kannst
    //nun also in jedem Script individuell auf den Fehler eingehen... 
    //$ex -> Message enthält z.B. die Nachricht, welche man der Exception mitgegeben hat...

Zitat:
--> verständiss welches Script schneller, langsamer ist
einfach mal nach Performance und PHP bei google suchen.. ansonsten doch einfach selbst kleine Speed-Tests durchführen.. geht ganz einfach, wenn du danach bei google suchst, wirst du schnell fündig werden :)
__________________
Opendix lehnt jegliche Haftung für evtl. vorhandene Fehler in der Grammatik sowie der Satzstellung ab! Bitte wenden Sie sich an die Tastatur!

Betatester gesucht:
Skiclub Gams / CEVI Grabs

Geändert von Opendix (20.05.2007 um 02:28:39 Uhr)
Mit Zitat antworten
  #6  
Alt 20.05.2007, 08:56:01
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: MySQL class

Zitat:
Zitat von oRigin Beitrag anzeigen
--> verständiss welches Script schneller, langsamer ist
Du findest auf den Seiten der Unis, bei denen man Informatik studieren kann, sicher Folien zu "Algorithmen und Datenstrukturen". Dort steht eine Menge über das Berechnen der Laufzeit/des Speicherverbrauchs von Algorithmen usw usf
Mit Zitat antworten
Antwort


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

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
php5 mySQL db class rsciw PHP Grundlagen 1 29.04.2007 16:00:29
Mysql startet nicht oberonal MySQLi/PDO/(MySQL) 3 24.11.2006 09:41:31
MySQL Page Script. Problem. dtone MySQLi/PDO/(MySQL) 8 15.10.2006 14:58:06
MYSQL via Apache (XAMPP) Access denied Christel MySQLi/PDO/(MySQL) 12 30.04.2005 08:55:42
MySQL - ORDER BY RAND() und PHP MacMarc PHP Grundlagen 15 05.12.2002 22:23:39


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:44:13 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt