php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 24-06-2008, 12:43
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard php klassen programmierung

hi,

mich würden gerne die laufzeiten interessieren.

wie verhält es sich, wenn eine klasse 100 funktionen hat (bsp.), ich davon aber nur eine benötige?

oder macht es dann eher sinn die klassen schlank zu halten und wenn man was dazu muss zu vererben?
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #2 (permalink)  
Alt 24-06-2008, 12:47
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Miß nach!
Meiner Erfahrung nach hat die Menge des inkludierten Codes ab einer bestimmten Größe durchaus Auswirkungen auf die Performance.

Geändert von pekka (24-06-2008 um 12:53 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 24-06-2008, 12:56
Griecherus
 PHP Senior
Links : Onlinestatus : Griecherus ist offline
Registriert seit: May 2005
Ort: Berlin
Beiträge: 1.036
Griecherus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Welche Klasse sollte denn einhundert Methoden beherbergen? Und wieso sollte sie das tun, wenn du nur eine davon "benötigst"? Entschuldige, aber ich finde die Fragestellung sehr unklar. Du kannst ja mal ein Beispiel für eine solche Klasse geben.
Als kleinen Hinweis sei der Begriff God-Object genannt.

Grüße
Mit Zitat antworten
  #4 (permalink)  
Alt 24-06-2008, 13:17
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

Solche Dinge solten entweder direkt als PHP-Extension eingebaut oder gar nicht benutzt werden...
Wenn du nur 1 Funktion brachst kannst du sie ja wohl ganz gut selber nachbauen.
Besser mehrere kleine Klassen als eine riesige.
Mit Zitat antworten
  #5 (permalink)  
Alt 24-06-2008, 13:45
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von jmc
Solche Dinge solten entweder direkt als PHP-Extension eingebaut oder gar nicht benutzt werden...
Wenn du nur 1 Funktion brachst kannst du sie ja wohl ganz gut selber nachbauen.
Besser mehrere kleine Klassen als eine riesige.
DAMIT kann ich etwas anfangen.
konnte ich aber auch nochmal auf wiki nachlesen, thx Griecherus

und wie ich schon sagte .. das war ein beispiel mit den 100 funktionen .
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #6 (permalink)  
Alt 01-07-2008, 10:13
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

hi leute,

nochmal eine kleine frage.

von java kenne ich es, das jede klasse in eine eigene datei kommt .. ist das bei php auch zu empfehlen oder kann man ruhig alle klassen in eine datei packen?

was verhält sich dann schneller?? die große datei einzubinden (include) oder die vielen kleinen dateien?
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #7 (permalink)  
Alt 01-07-2008, 10:41
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Um Autoloading effektiv zu nutzen, ist es sinnvoll, Klassen eigene Dateien zu geben - entsprechend sollten Kindklassen, Abstrakte Klassen und Interfaces ebenfalls eigene Dateien bekommen.

Darüberhinaus empfehle ich, beim einbinden von Programmbestandteilen auf require/require_once zurückzugreifen.
Mit Zitat antworten
  #8 (permalink)  
Alt 01-07-2008, 12:37
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von unset
Um Autoloading effektiv zu nutzen, ist es sinnvoll, Klassen eigene Dateien zu geben - entsprechend sollten Kindklassen, Abstrakte Klassen und Interfaces ebenfalls eigene Dateien bekommen.

Darüberhinaus empfehle ich, beim einbinden von Programmbestandteilen auf require/require_once zurückzugreifen.
thx .. autoloading kannte ich nicht .. damit werde ich wohl meine include_classes.php wieder löschen können die diese aufgabe übernommen hatte

mit dem require hast du schon recht .. sollte ich wohl mal mehr drauf achten
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #9 (permalink)  
Alt 05-07-2008, 12:33
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

die autoloader funktion habe ich hinbekommen

jetzt habe ich noch eine kleine frage zu den konstrucktoren.
bei peterkropff.de wird __construct verwendet .. von java kenne ich es das man erine funktion mit dem gleichen namen wie die klasse erzeugt.

welche der beiden varianten ist "zukunftssicherer"?

und kann ich in php den rückgabetyp bestimmen? der konstrucktor gibt mir immer ein objekt zurück, was ich aber nicht immer will
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #10 (permalink)  
Alt 05-07-2008, 12:47
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

__construct ist aktuell. Klassenname ist veraltet - in PHP.

Außerdem gibt der Konstruktor nichts zurück, er ist nur die Aufbauroutine deiner Klasse. Folglich ist das nicht möglich.
Mit Zitat antworten
  #11 (permalink)  
Alt 05-07-2008, 12:52
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

ich kann ja im konstruktor gleich eine funktion aufrufen lassen .. um mir einen zusätzlichen aufruf zu sparen .. aber dann bekomme ich nette fehlermeldungen

Code:
Catchable fatal error:
Object of class LoadConfig could not be converted to string in
/srv/www/htdocs/lokal/websites/cms/classes/Template.php on line 25
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #12 (permalink)  
Alt 05-07-2008, 12:54
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Was hast du dir da zusammenprogrammiert?
Mit Zitat antworten
  #13 (permalink)  
Alt 05-07-2008, 13:10
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

der fehler hat folgende ursache:

PHP-Code:
function site()
{
   
$template_design = new Template($this->_theme_dir."template_design.html");
   
$template_design->replace("theme_dir"$this->_theme_dir);
   
$template_design->replace("title", new LoadConfig("title"));
   
$template_design->replace("header", new LoadConfig("header"));
   
$template_design->replace("navi"$this->navi());
   
$template_design->replace("footer", new LoadConfig("footer"));
   return 
$template_design->echo_template();

ich musste das folgendermasen umschreiben damit es endlich funktioniert

PHP-Code:
function site()
{
   
$title = new LoadConfig("title");
   
$header = new LoadConfig("header");
   
$footer = new LoadConfig("footer");
   
$template_design = new Template($this->_theme_dir."template_design.html");
   
$template_design->replace("theme_dir"$this->_theme_dir);
   
$template_design->replace("title"$title->getData());
   
$template_design->replace("header"$header->getData());
   
$template_design->replace("navi"$this->navi());
   
$template_design->replace("footer"$footer->getData());
   return 
$template_design->echo_template();

finde ich ehrlich gesagt umständlich ... und mehr code.
oder gibts es eine möglichkeit die obere variante zum laufen zu bringen?

LoadConfig.php
PHP-Code:
class LoadConfig
{
   var 
$_field "";

   function 
__construct($field)
   {
      
$this->_field $field;
   }

   function 
getData()
   {
      
$configdata = new Query("SELECT config_value FROM tbl_config WHERE config_name = '".$this->_field."';");
      if(
$configdata->error())
      {
         echo 
$configdata->getError();
         die();
      }

      
$row $configdata->fetch();
      
$configdata->free();
      unset(
$configdata);

      return 
$row['config_value'];
   }

__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #14 (permalink)  
Alt 05-07-2008, 13:32
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Faktorisiere deine Klassen. Deklariere statische Klassen. Oder erlerne erst einmal objektorientierte Programmierung, bevor du etwas produktives umsetzen willst.

OffTopic:
Wie man nun sieht, hat erzwungene objektorinetierte Programmierung offensichtlich den Effekt, dass die Leute es nicht wirklich begreifen, aber auf Düvel komm russ anwenden wollen.
Mit Zitat antworten
  #15 (permalink)  
Alt 05-07-2008, 13:43
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von unset
Faktorisiere deine Klassen. Deklariere statische Klassen. Oder erlerne erst einmal objektorientierte Programmierung, bevor du etwas produktives umsetzen willst.

OffTopic:
Wie man nun sieht, hat erzwungene objektorinetierte Programmierung offensichtlich den Effekt, dass die Leute es nicht wirklich begreifen, aber auf Düvel komm russ anwenden wollen.
wer sagte den dass das was produktives wird?

ich bastel einfach an einem kleinen cms für meine webseite .. wenns es am ende funkt .. super .. wenn nicht .. habe ich was zu tun.
ich kann OOP nicht wirklich .. deswegen will ich mich da jetzt ja ein wenig mit beschäftigen.

nur damit ich was RICHTIG lerne, muss ich ergebnisse sehen .. und den größten erfolg habe ich, wenn ich etwas "produktives" programmiere .. das ich auch einsätzen könnte.

Faktorisiere deine Klassen.
damit kann ich nichts anfangen .. und wenn ich eine SuMA damit quäle kommt was mathematisches bei rum (ausklammern)

Deklariere statische Klassen
damit ich den die variablen auch von außerhalb verändern kann?
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:17 Uhr.