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

Webseiten professionell erstellen

Webseiten professionell erstellen 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 für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 07.04.2008, 22:17:52
Benutzerbild von Area51
Area51 Area51 ist offline
Junior Member
 
Registriert seit: Mar 2008
Ort: Heidelberg
Alter: 32
Beiträge: 164
Area51 eine Nachricht über ICQ schicken Area51 eine Nachricht über AIM schicken Area51 eine Nachricht über MSN schicken
OOP

Moin ihrs ;)
Ich bin gerade dabei, ein GB auf OOP-Basis zu entwickeln. Doch nun eine Frage, da ich glaube, ich hab etwas missverstanden:
Ich hab eine Datei namens getEntries.class.php, in der (wie der Name schon sagt), alle Einträge, die aktiviert sind, aus der DB geladen und in einem Array gespeichert werden. In einer anderen Datei (display.php) wird lediglich die Datei getEntries.class.php eingebaunden, ein neues Objekt $entries gestartet und die Methode $entries -> loadEntries () aufgerufen.

Sieht also etwa so aus:
PHP-Code:
// Include entry class
require_once ($class_dir.'/getEntries.class.php');

// New instance of getEntries
$entries = new getEntries;

// Load and display
$entries -> loadEntries (); 
Wäre das im Sinne von OOP, ober hab ich da etwas verrafft?
Mit Zitat antworten
  #2  
Alt 07.04.2008, 22:39:15
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: OOP

Meiner Meinung nach erfüllt OOP eigentlich nur dann einen wirklichen Zweck wenn, Aufgaben sich öfters wiederholen, oder wiederholen könnten.
Also wenn ein Script wiederverwendbar sein soll.

Zum Beispiel schreibe Ich gerade einen Editor für meinen Adminbereich, nun hatte ich festgestellt, das sich verschiedene Aufgaben immerwieder wiederholen, also das Anzeigen der Datensätze, das Bearbeiten, das Löschen etc.
Nun bin ich also Dabei eine Klasse zu schreiben wo ich nur die Tabellen, Spaltennamen und Aktionen angebe. Den Rest soll mir die Klasse abnehmen.
Mit Zitat antworten
  #3  
Alt 07.04.2008, 22:41:52
Benutzerbild von Area51
Area51 Area51 ist offline
Junior Member
 
Registriert seit: Mar 2008
Ort: Heidelberg
Alter: 32
Beiträge: 164
Area51 eine Nachricht über ICQ schicken Area51 eine Nachricht über AIM schicken Area51 eine Nachricht über MSN schicken
AW: OOP

Das tut sich bei mir doch auch ;)
Mit Zitat antworten
  #4  
Alt 07.04.2008, 22:47:06
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: OOP

Ich meinte das eher so:
Wenn Du das Script kopieren und nur abwandeln müsstest, weil Du wo anders eine ähnliche Problemstellung vorfindest.
Wenn das bei Dir zutrifft, dann kannst Du eine Klasse verwenden aber
wenn Du wahrscheinlich ni auf eine ähnliche Problemstellung treffen wirst ist es wohl eher schwachsinn extra eine Klasse dafür zu schreiben.

Hoffe ich konnte Dir helfen :-)
Mit Zitat antworten
  #5  
Alt 07.04.2008, 22:56:15
Benutzerbild von Area51
Area51 Area51 ist offline
Junior Member
 
Registriert seit: Mar 2008
Ort: Heidelberg
Alter: 32
Beiträge: 164
Area51 eine Nachricht über ICQ schicken Area51 eine Nachricht über AIM schicken Area51 eine Nachricht über MSN schicken
AW: OOP

Also als Beispiel:
Im ACP möchte ich folgende Optionen anbieten: DB-Tables reparieren / optimieren / analysieren.

Da sich die Queries nur um ein Schlüsselwort unterscheiden und sonst alles identisch wäre, könnte ich dort eine Klasse verwenden, richtig?
Mit Zitat antworten
  #6  
Alt 07.04.2008, 23:03:41
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: OOP

Würde ich Dir nicht empfehlen, das der Aufwand dem Nutzen nicht gerecht wird.
Wann man eine Klasse nimmt und wann nicht, muss man ins Verhältnis Aufwand/ Nutzen setzten.
Mit Zitat antworten
  #7  
Alt 08.04.2008, 03:59:37
ascer ascer ist offline
Anfänger
 
Registriert seit: Oct 2006
Beiträge: 137
AW: OOP

dazu sollte aber auch gesagt werden, finde ich, dass sich der Aufwand auch bei komfortableren programmieren relativiert...

Soll heissen, für manche Sachen (finde ich es zumindest) deutlich einfacher, eine Klasse zu schreiben, als Funktionen o.Ä. zu benutzen...

Ich hatte z.B. mal ein Projekt, wo ein Intranet schon vorhanden war, dieses aber sehr veraltet und nur halbfertig war...ich sollte also vorhandene Variablen/Schnittstellen übernehmen aber z.B. die Rechteverwaltung neuprogrammieren...aufgrund des veralteten/halbfertigen Intranets konnte ich die Klasse auch nie wieder gebrauchen, weil sie speziell auf das Projekt angepasst werden musste und eine freiere bzw. "wiederverwertbarere" Klasse zuviel Aufwand war....

Fazit: sie erfüllt bis heute nur diesen einen Zweck, ABER die Rechteverwaltung und teilweise neue Features für einen eingeloggten Member (die ebenfalls ich basteln sollte) ließen sich (finde ich zumindest) deutlich leichter bzw. komfortabler programmieren mit der Klasse...


gruß,
Ascer

+gruß und frohes Schaffen an ksticker ;-)

Geändert von ascer (08.04.2008 um 04:03:00 Uhr)
Mit Zitat antworten
  #8  
Alt 08.04.2008, 11:01:44
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
oop

@ area51: jepp - sieht wie oop aus. mein tip: benutze zur einbindung der klassen kein include / require, sondern autoload. bei grösseren projekten wird es sonst unübersichtlich + aufwändig.

PHP-Code:
function __autoload$class )
{
    require 
'/classes/'.$class.'.php';

@ksticker: oop ist nicht nur eine frage der wiederverwendbarkeit des quellcodes bzw. des aufwand-nutzen-verhältnis. es ist ebenso eine "designphilosophie" aka programmierstil und kann - richtig angewendet - eine wohlgeformte projektstruktur unterstützen.

Zitat:
[...] ist es wohl eher schwachsinn extra eine Klasse dafür zu schreiben [...]
ich arbeite bei grossen projekten ausschliesslich mit klassen aus oben genannten gründen. einen "extra" aufwand empfinde ich dabei nicht. oop kann auch ganz einfach sein .-p

cx
Mit Zitat antworten
  #9  
Alt 08.04.2008, 16:51:52
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: OOP

Zitat:
Zitat von ascer Beitrag anzeigen
deutlich einfacher, eine Klasse zu schreiben, als Funktionen o.Ä. zu benutzen...
Eine Klasse besteht im Prinzip auch nur aus Funktioen(Methoden) und Variablen Gell

Wenn man eine Klasse benutzt oder wenn nicht, ist immer eine Ermessensfrage.
Denn es ist doch "ein wenig" aufwändiger eine Klasse zu schreiben.
Für ein kleines, simpes Subprojekt wie ein Kontaktformular oder Gästebuch würde ICH wohl ni anfangen eine Klasse zu schreiben.
Aber wie gesagt, das ist eine Ermessensfrage und wenn man seine Ordnerhirachie ordentlich führt ist die Übersichtlichkeit auch gegeben.
Mit Zitat antworten
  #10  
Alt 08.04.2008, 17:18:41
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: OOP

Es geht aber weniger um die Struktur im Dateisystem, sonder mehr um die Struktur des Codes.

Ein prozeduraler Programmierstil hat doch deutliche Nachteile gegenüber einer objektorientierten Variante. Wie man es nun macht, ist jedem selbst überlassen, kommt ja auch darauf an, ob man überhaupt in der Lage ist, durchdacht objektorientiert zu programmieren. Kann man das, dann ist OOP nicht mehr, sondern ehr weniger Aufwand, von Pflege, Ausbaumöglichkeiten und der Bugfixerei mal ganz abgesehen.
__________________
Gruß |Coding

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

www.qozido.de
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:43:22 Uhr.


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


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