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 ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign 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
  #21  
Alt 05.04.2008, 17:11:32
Opendix Opendix ist offline
Senior Member
 
Registriert seit: Oct 2004
Ort: Werdenberg / Schweiz
Alter: 35
Beiträge: 1.476
AW: Nested Sets Klasse

So jetzt bin ich auch mal wieder hier :)

Ich hab mir das ganze auch mal angeschaut (nur angeschaut, muss erst wieder meinen Server hier installieren bis dann kann ich noch nicht testen :P) und mir sind da der eine oder andere Punkt aufgefallen :)

1. Ich finde, dass die Klasse die Mysql-Verbindung nicht selbst herstellen sollte! Die Klasse wird wahrscheinlich in anderen Projekten eingesetzt bei denen schon vor dem Aufruf der Klasse eine Verbindung mit der Datenbank geöffnet wurde! Zwei mal eine Verbindung öffnen macht von mir aus gesehen keinen Sinn :)

2. Warum wird der Tabellenname dem Konstruktor übergeben und die anderen Mysql-Parameter sind fix in der Klasse gesetzt? :S

3. Warum sind _getNaturalNumber und _getFieldValues "protected"?

4. Da sind noch Debug-Ausgaben zu finden :P
PHP-Code:
echo "LFT: $lft, RGT: $rgt, ROOT: $root"
5. Alle Parameter der Funktionen beschreiben! (Aber ich denke da bist du laufend immer ein bisschen dran *g*)

6. Benutzen von Strings optimieren
PHP-Code:
//So machst du es jetzt
"SELECT `lft`, `rgt` FROM `{$this->_dbTblName}` WHERE `id` = {$moveTo}"

//Besser wäre:
'SELECT `lft`, `rgt` FROM `{$this->_dbTblName}` WHERE `id` = \''$moveTo .'\'' 
7. Ifs ausschreiben
PHP-Code:
//Finde ich persönlich unübersichtlicher und verwirrender als ein 
//normales, ausgeschriebenes IF-Statement! 
//Aber das ist meine Meinung,ich denke andere würden genau das umgekehrte sagen :P
$diff $hasNoChilds === true : ($rgt $lft) + 1
8. Noch ein Punkt zur Übersichtlichkeit
PHP-Code:
//Ich habe in der Schule gelernt, solche Sachen zu vermeiden!
if(!$query mysql_query($query))
{
   
//...
}

//Besser wäre sowas:
$query mysql_query($query);
if(!
$query)
{
    
//....
}

//Natürlich ist das wieder Ansichtssache :) 
9. Kein "die" verwenden
Jeder der so eine Klasse verwendet möchte sicherlich auch selbst die Fehler behandeln! Da ist es nicht sehr hilfreich wenn du mit einem die() das Script einfach abbrichst!
PHP-Code:
//Das hier... 
$query mysql_query("SELECT `lft`, `rgt` FROM `{$this->_dbTblName}` WHERE `id` = {$moveTo}") or die(mysql_error());
//.. wäre so besser zu lösen:
$query mysql_query('SELECT ....');
if(!
$query)
{
    throw new 
Exception(mysql_error());

10. mysql_fetch_array($query, MYSQL_ASSOC)
Anstatt dieser fetch_array doch einfach mysql_fetch_assoc verwenden :)

11. Noch was zur Übersichtlichkeit
PHP-Code:
//Warum benutzt du so häufig list? Hat das irgendeinen Vorteil? (Ich weis es nicht, benutze diese Funktion eigentlich nie :S)
list($newLft$newRgt) = array_values(mysql_fetch_array($queryMYSQL_ASSOC));

//Aber in diesem Falle fände ich es einfacher und schöner sowas zu machen:
$daten mysql_fetch_assoc($query);
$newLft $daten['lft'];
$newRgt $daten['rgt']; 
12. SQL Statements innerhalb mysql_query()
Manchmal machst du eine Variabel $sql, speicherst da die Abfrage und führts sie dann so aus:
mysql_query($sql);

Manchmal aber schreibst du einfach das SQL direkt in das mysql_query(...)!
Zweiteres finde ich keine gute Lösung! Solltest du dich dennoch für diese Entscheiden, dann würde ich es einheitlich machen.

13. ...
PHP-Code:
/***
* FtpConnect class allows easy connecting to a ftp-server.
*  
* @package FtpConnect
* @version 1.0
* @tablesize 4
* @author MaurÃ*cio Hanika <tickduck@gmx.de>
* @author Andreas Wilhelm <Andreas2209@web.de>
* @copyright Andreas Wilhelm
**/ 
Na ob das aktuell ist? *g*

14. schliessende PHP-Tags lasse ich immer weg in Dateien in denen sich nur eine Klasse udn sonst nichts befindet! Grund: es werden dann sicherlich keine Leerzeichen die sich nach dem ?> befinden an den Client gesendet! Klar siehst du diese Leerzeichen nicht beim Client, aber solltest du vielleicht nachher irgendwann mal die funktion header verwenden wirst du lange nach dem besagten Zeichen finden was die coole Meldung "Headers already sent... " auslöst :) Ist da jemand anderer Meinung? Hab das mal irgendwo mitgenommen als ich irgendein (leider vergessen welches) Projekt angeschaut habe...




Soo.. einige Punkte sind wichtiger, einige dann wieder überhaupt nicht so :) hoffe ich konnte dir damit ein bisschen weiterhelfen :)

Btw. finde ich es super, dass du die Klasse öffentlich zugänglich machst.. :)
__________________
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
  #22  
Alt 06.04.2008, 13:46:10
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
AW: Nested Sets Klasse

Hallo Opendix,
Erstmal vielen Dank für deine Mphen. Wie du ja schon bemerkt hast, sollte bei Version im Kopf der Klasse eher 0.7.2 oder so stehen. Die Klasse ist halt noch nicht richtig ausgereift und noch in der Testphase, was man noch an den Konstanten und den Debug ausgaben sieht. Die unterschiedlichen Schreibweisen von zum Beispiel Mysql-Query (mit und ohne $sql) kommen wie gesagt daher, dass wir zwei Programmierer sind, die an dieser Klasse arbeiten. Würde mich übrigens auch noch über weiteres Feedback, auch von anderen freuen.
MfG Andy
__________________
BSc. Applied Computer Science
http://www.bornageek.com
Mit Zitat antworten
  #23  
Alt 06.04.2008, 15:14:54
Opendix Opendix ist offline
Senior Member
 
Registriert seit: Oct 2004
Ort: Werdenberg / Schweiz
Alter: 35
Beiträge: 1.476
AW: Nested Sets Klasse

Zitat:
...kommen wie gesagt daher, dass wir zwei Programmierer sind, die an dieser Klasse arbeiten...
Für sowas sollte man Richtlinien erstellen wenn man ein Projekt gemeinsam angeht:)
__________________
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
  #24  
Alt 06.04.2008, 16:02:10
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Nested Sets Klasse

Zitat:
Zitat von Socrates Beitrag anzeigen
...wie gesagt daher, dass wir zwei Programmierer sind, die an dieser Klasse arbeiten...
Wie Opendix schon gesagt hat, Ihr solltet Richtlinien aufsetzen, sonst Bugfixed Ihr Euch nur in die Queere. Ferner wäre ein CVS vielleicht nicht verkehrt. Das ist ja immer - erst recht dann - sinnvoll, wenn mehrere Leute an etwas fummeln.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #25  
Alt 06.04.2008, 19:28:02
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
AW: Nested Sets Klasse

Abend!
Also Richtlinien haben wir eigentlich ja erstellt, also wie wir Variablen, Methoden und Klassen benennen und dokumentieren. etc. Aber an so etwas haben wir halt noch nicht gedacht. Zudem benutzen wir bereits SVN.
MfG, Andy
__________________
BSc. Applied Computer Science
http://www.bornageek.com
Mit Zitat antworten
  #26  
Alt 10.04.2008, 18:06:10
Benutzerbild von Nev
Nev Nev ist offline
Member
 
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 43
Beiträge: 992
AW: Nested Sets Klasse

Hi @ll

Ich freue mich, das es Anhänger von Nested Sets gibt.

Ich verwende es sehr häufig.

NestedSets, können aber auch ned überall verwendet werden.
alles wo sich zuviel ändert, hat es eindeutig nachteile, da der Einfüge Mechanismus zu häftig is, weil ja alles umgerecht werden muss.

Ich verwende es generell für Menübäume, da ändert sich kaum was.

Zur Klasse:
Kann mich dem vorschreibe nur anschliessen.

Was mich freut, is das ihr das Verschieben von MenüBäumen gelöst habt
daran bin ich sehr lang gesessen.

Zusätzlich würde ich folgende Features nocheinbaun:
  • Einfügen als Kind
  • Vor dem Menüpunkt einfügen
  • Verschieben in der Ebene
  • Verschieben der in der Tiefe
  • Ausgabe von Teiltrees
__________________
Cu
Nev the XxX (Sven-Marcus Maderbacher)

Master of www.Burnworld.de
www.Nev-hilft.de die Seite für den Coder
Mit Zitat antworten
  #27  
Alt 12.02.2009, 01:33:21
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
AW: Nested Sets Klasse

Hallo Zusammen!

Ich habe seit längerer Zeit nicht mehr an dieser Klasse gearbeitet. Habe mich heute, da ich darauf angesprochen wurde, mal wieder dran gesetzt. Leider funktioniert das ganze noch nicht so wirklich. Ich erhalte zum Beispiel keine Ausgabe der Baumstruktur. Das verschieben eines Teilbaums möchte leider auch nicht so wirklich klappen. Habe mal die alte Version gelöscht und die neue hochgeladen. Würde mich über weitere Verbesserungsvorschläge und zusätzliche Anregungen freuen.

MfG, Andy
Angehängte Dateien
Dateityp: zip NestedSets.zip (5,9 KB, 263x aufgerufen)
__________________
BSc. Applied Computer Science
http://www.bornageek.com
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
Kann eine Klasse in einer Eigenschaft ein Objekt, einer anderen Klasse instanzieren? Balthazzar PHP für Fortgeschrittene und Experten 6 06.07.2006 17:06:36
Klasse in Klasse aufrufen wollenschlaeger PHP für Fortgeschrittene und Experten 4 14.07.2005 14:05:32
Andere Klasse aus Klasse aufrufen NanoCyte PHP für Fortgeschrittene und Experten 22 28.06.2004 22:24:53
Blätterfunktion als Klasse! Funjoy PHP Entwicklung und Softwaredesign 0 25.06.2004 00:45:04
Methoden in Klassen includen bzw. ausserhalb der Klasse definieren darius PHP für Fortgeschrittene und Experten 6 31.12.2003 11:32:42


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:27:21 Uhr.


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


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