php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.12.2004, 08:36  
Gast
 
Beiträge: n/a
Standard [Erledigt] Frage zur Funkrionen?

Servus zusammen,
hab mal eine Frage bezüglich funktionen. Angenommen ich hab eine Datei, in der 20 Funktionen untereinander stehen. In jeder funktion wird ziemlich viel Code ausgeführt (viele if und for schleifen), ein paar funktionen sind rekursiv. Wenn die Datei aufgerufen wird, bekommts sie ein Variable übergeben und danach wird am ende der Datei eine bis höchstens zwei funktionen aufgerufen. Jetzt ist meine Frage, ob es sinnvoll ist so was zu machen oder sollte man für jede funktion eine eigene Datei erstellen. Mich würde interessieren ob das Script durch so viele funktionen langsamer wird auch wenn am ende nur eine Aufgerufen wird. Und wie wird es überhaupt gemacht? Werden die Funktionen in einem "Zwischenspeicher" gespeichert und beim aufruf ausgeführt oder wie funktioniert es.

Und noch eine kleine Frage. Wenn ich eine Variable per URL übergebe kann man sie direkt ansprechen oder auch mit $_GET. Was sollte man verwenden und was nicht.

Danke für alle Antworten
Grau -->bigjay<--
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.12.2004, 08:42  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Frage zur Funkrionen?

hey,
Zitat:
Zitat von -->bigJay<--
Mich würde interessieren ob das Script durch so viele funktionen langsamer wird
das ist eigentlich ne interessante frage. sollte eigentlich unerheblich sein, da die funktion ja nur dann abgearbeitet wird, wenn sie auch per funktionsaufruf ausgeführt wird.

allerdings darfst du das gerne mal mit folgendem codeschnipsel überprüfen:
http://codeschnipsel.net/index.php?a...&id=1063988566

da steht ja prinzipiell wie du die laufzeit eines scriptes überprüfen kannst
vergleiche einfach mal die unterschiedlichen methoden.


quote="-->bigJay<--"]Wenn ich eine Variable per URL übergebe kann man sie direkt ansprechen oder auch mit $_GET. Was sollte man verwenden und was nicht.[/quote]
das ist das altbekannte thema 'register_globals'

schau mal hier rein:
http://phpfriend.de/forum/viewtopic.php?t=26569
http://php.net/register_globals

du solltest immer mit dem superglobalen array $_GET auf die daten zugreifen.

ein beispiel:
http://www.klaile.com/?site=helpdesk&cat=php&posting=1

(der IE spinnt noch etwas bei der darstellung, sorry)

hoffe, dass das alles erst einmal weiterhilft.
grüße ben
imported_Ben ist offline  
Alt 01.12.2004, 08:46  
Gast
 
Beiträge: n/a
Standard

Hi Ben
Danke für die schnelle Antwort. Werd mir mal alles anschauen. Das Ergebnis kann ich ja dann verkünden, falls interesse besteht.
Gruß
 
Alt 01.12.2004, 08:51  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von -->bigJay<--
Das Ergebnis kann ich ja dann verkünden, falls interesse besteht.
das besteht
imported_Ben ist offline  
Alt 01.12.2004, 09:11  
Gast
 
Beiträge: n/a
Standard

Ergebnis
- Durchlauf 1: In der Datei ist nur eine Funktion enthalten welche auch aufgerufen und ausgeführt wird --> schnellster Durchlauf 0,011sek

- Durchlauf 2: In der Datei sind sieben Funktionen enthalten. Es wird nur eine Funktion aufgerufen und ausgeführt --> schnellster Durchlauf 0,0116sek

- Durchlauf 3: Ind der Datei sind sieben Funktionen enthalten. Erwerden 2 Funktionen aufgerufen und ausgeführt --> schnellster Durchlauf 0,012sek

Die Dateien wurden im IE aufgerufen mit einer DSL Verbindung. Fragt nicht wie schnell die Verbindung ist -> ich weiss es nicht ich bin grad im Geschäft und weiss nicht was genau die haben. Ist aber eine die schneller alst Standart DSL ist.
Fazit: Der Unterschied ist so gering, dass ich auch 20 Funktionen in einer Datei ohne Sorde unterbringen kann.
 
Alt 01.12.2004, 09:22  
Gast
 
Beiträge: n/a
Standard

Noch ein kleiner Nachtrag.
Er geht alle Funktionen immer durch auch wenn sie nicht alle aufgerufen werden. Denn falls in einer Funktion die nicht aufgerufen wird ein Fehler drin ist, wird eine Fehlermeldung angezeigt. Also vieleicht doch nicht so sinnvoll, besonders wenn sehr viele funktionen enthalten sind.
 
Alt 01.12.2004, 09:26  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von -->bigJay<--
Denn falls in einer Funktion die nicht aufgerufen wird ein Fehler drin ist, wird eine Fehlermeldung angezeigt.
jo. das ist klar. geparst wird die ganze datei.

Zitat:
Zitat von -->bigJay<--
Also vieleicht doch nicht so sinnvoll, besonders wenn sehr viele funktionen enthalten sind.
was ein quatsch. du schreibst einfach fehlerfreien code ..
imported_Ben ist offline  
Alt 01.12.2004, 09:31  
Gast
 
Beiträge: n/a
Standard

Ja gut das ist ja klar. Ich meinte eigentlich dass das Sript mit sehr (also wirklich sehr) vielen Funktionen zu langsam werden könnte und das wäre für die Leute die mit einem Modem 56k sich einwählen nicht vom Vorteil
 
Alt 01.12.2004, 09:37  
Gast
 
Beiträge: n/a
Standard

Uuh, dann würde es mit 56k vielleicht 1,5 statt 1 Sekunde dauern, welch Dramatik.
 
Alt 01.12.2004, 09:39  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard Re: Frage zur Funkrionen?

Zitat:
Zitat von Ben
das ist eigentlich ne interessante frage. sollte eigentlich unerheblich sein, da die funktion ja nur dann abgearbeitet wird, wenn sie auch per funktionsaufruf ausgeführt wird.
Nicht ganz.
Wenn man PHP ohne Bytecode-Cache betreibt, müssen die Scripte (incl. aller Funktionen) bei jedem Aufruf neu kompiliert werden. Deswegen schlägt sich in der Ausführungszeit nicht nur nieder, wieviele Code-Zeilen effektiv ausgeführt werden, sondern auch wieviele einfach nur da sind und geparst werden müssen.

Es macht schon sinn, Dinge, die man nicht braucht, auch nicht zu includen (es bieten sich include_once() und require_once() an). Man sollte es mit der Granularität aber nicht übertreiben jeder dreizeiligen Funktion ne eigene Datei spendieren.
Relativ üblich ist hier eine Klasse pro Datei... aber eher zu Organisationszwecken, für die Performance können es auch zwei oder drei sein... so lange man keine Riesen-Klassen schreibt (blobs).

PS: Da es hier um die Serverseitig verbrauchte Rechenzeit geht und nicht um übertragene Daten, hat das ganze wenig damit zu tun, ob der Nutzer per DSL oder 56k-Modem daherkommt.
__________________
mod = master of disaster
Waq ist offline  
 


Themen-Optionen
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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Frage zu Session SmileMan PHP Tipps 2008 1 08.10.2007 11:22
Smarty frage: switch($action) PHP Tipps 2007 5 30.12.2006 18:07
Frage zu einem mySQL/php/html Konstrukt &lt;Daniel&gt; PHP Tipps 2006 5 11.07.2006 16:07
Ein kleine Frage zum posten hier im Forum Kein Genie Off-Topic Diskussionen 3 20.03.2006 13:40
Access Frage - Datenbankverbindung abfragen reimondo Off-Topic Diskussionen 1 01.10.2005 18:24
Blöde Frage " oder ' FireFIghter PHP Tipps 2005-2 7 22.09.2005 07:06
[Erledigt] Einfache Frage! Datenbanken 2 21.09.2005 08:27
Frage zu Speicherreservierung in PHP FiSiHRO PHP Tipps 2005-2 4 13.09.2005 12:00
[PDO] Frage zur Portabilität freq.9 PHP-Fortgeschrittene 2 29.07.2005 13:28
[Erledigt] frage PHP Tipps 2005-2 9 15.06.2005 13:22
.htaccess - Frage Stümper PHP Tipps 2005 11 30.05.2005 11:56
[Erledigt] Performence Frage PHP-Fortgeschrittene 10 06.05.2005 19:00
Frage zu einem Editformular PHP Tipps 2005 3 25.04.2005 14:58
Technische Frage zur Realisation einer Online-Umfrage Stefano PHP Tipps 2005 5 16.03.2005 17:39
[Erledigt] Frage! PHP Tipps 2004 4 27.07.2004 11:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
2 0012sek, funkrionen, funktionen langsamer

Alle Zeitangaben in WEZ +1. Es ist jetzt 12:28 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.