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 Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 21.04.2003, 20:37:58
Sadrak Sadrak ist offline
Anfänger
 
Registriert seit: Apr 2003
Ort: Ostercappeln
Beiträge: 5
Sadrak eine Nachricht über ICQ schicken
Klassen & Geschwindigkeit

So, ich hätte da mal ne Frage *g*

Ich programmiere ein Spiel in PHP, nun ist die Frage wie ich die statischen Variablen wie z.b. die baukosten abspeichern soll. Aktuell habe ich dafür eine Klasse gemacht (Name: get_var) und in ihr halt 30 funktionen so wie z.b. geb_kosten

wenn ich nun get_var::geb_kosten("schmiede") aufrufe, bekomme ich nen array mit allen Daten zurück. Nur, wie ist das mit der Geschwindigkeit. Oft ist es so, das ich nur eine funktion aus der ganzen Klasse brauche, diese aber immer Laden muss mit include. Sollte ich mehrer spezielle Klassen machen oder wie wäre es am besten zu lösen?

MfG
__________________
hauptsache es macht spass.
Mit Zitat antworten
  #2  
Alt 21.04.2003, 20:40:49
Sadrak Sadrak ist offline
Anfänger
 
Registriert seit: Apr 2003
Ort: Ostercappeln
Beiträge: 5
Sadrak eine Nachricht über ICQ schicken
zusatz:

Wo kann ich dazu was lesen mit speicherverbrauch etc. Wenn ich ne Datei include, wird die dann komplett in den Speicher geladen?
__________________
hauptsache es macht spass.
Mit Zitat antworten
  #3  
Alt 21.04.2003, 21:19:23
Dago Dago ist offline
Member
 
Registriert seit: Mar 2002
Beiträge: 548
Mit include() wird eine Datei bei jedem Aufruf neu ausgelesen und geparst.
Tipp:
Besser include_once(), require_once() oder require() verwenden, dann bleibt der geparste Programmcode auch im Speicher - zumindest bei der Modul-Version von PHP...
Mit Zitat antworten
  #4  
Alt 21.04.2003, 21:57:16
Sadrak Sadrak ist offline
Anfänger
 
Registriert seit: Apr 2003
Ort: Ostercappeln
Beiträge: 5
Sadrak eine Nachricht über ICQ schicken
Ich mache pro Script auf jeden fall nur ein include, zwei gehen ja auch garnicht, dann nervt der ja sofort, das er die Klasse schon hat. Was meintest du mit der Modul-Version von PHP ... wo kann ich sehen ob ich das habe? Und wie könnte ich das dann nutzen?
__________________
hauptsache es macht spass.
Mit Zitat antworten
  #5  
Alt 21.04.2003, 22:11:37
Dago Dago ist offline
Member
 
Registriert seit: Mar 2002
Beiträge: 548
Es gibt zwei gängige Varianten, PHP laufen zu lassen:
- über das Server Advanced Programable Interface (Apache-Modul)
und
- über das Common Gateway Interface

Bei der API-Version bleibt der PHP-Interpreter die ganze Zeit über im Speicher und kann die Skripte, die er irgendwann schonmal geparst hat, sehr schnell ausgeben, da sie zwischengespeichert werden (und nur erneut geparst werden, wenn sich die Skript-Datei geändert hat). Das geschieht ganz automatisch, ohne jegliches Zutun.
Bei der CGI-Variante wird der Interprter nur bei Anfrage auf ein Skript vom Server gestartet und danach gleich wieder beendet - klar dass da nichts zwischengespeichert werden kann. Es gibt allerdings auch CGI-PHP, dass sich wie das API-PHP verhält, z.B. muss soetwas bei Puretec laufen (frag mich nicht, wie die das machen...).

Ob dein PHP als API oder als CGI läuft erfährst du durch einen Aufruf von phpinfo().
Mit Zitat antworten
  #6  
Alt 22.04.2003, 02:16:58
Sadrak Sadrak ist offline
Anfänger
 
Registriert seit: Apr 2003
Ort: Ostercappeln
Beiträge: 5
Sadrak eine Nachricht über ICQ schicken
OK, danke :)


jetzt ist nur noch die eigentliche frage zu klären *g* wie mache ich das jetzt? *g*

eine große Klasse mit zum schluss 200 funktionen oder 5 klassen mit 40 funktionen?

letztenslich wird bei der API klasse ja dann eh immer alles geladen sein, ist es dann egal ob alles in einer klasse steht oder aufgeteilt auf mehrer?
__________________
hauptsache es macht spass.
Mit Zitat antworten
  #7  
Alt 22.04.2003, 12:05:53
Dago Dago ist offline
Member
 
Registriert seit: Mar 2002
Beiträge: 548
Sollte im Endeffekt eigentlich auf das Gleiche hinauslaufen. Aber rein vom Programmierstil her, würde ich nur das inkludieren, was ich auch wirklich brauche.
Mit Zitat antworten
  #8  
Alt 22.04.2003, 12:18:00
Sadrak Sadrak ist offline
Anfänger
 
Registriert seit: Apr 2003
Ort: Ostercappeln
Beiträge: 5
Sadrak eine Nachricht über ICQ schicken
naja, das ist klar, aber insgesamt wird doch alles geladen bleiben.

Ich werde es wohl noch aufgliedern, sprich 5 Klassen machen, für jede Kategorie eine und dann je nachdem was der Spieler gerade macht das entsprechende in dem Script includen. include_once lohnt sich doch auch nur, wenn man keinen überblick über seinen Code hat oder? *g*
__________________
hauptsache es macht spass.
Mit Zitat antworten
  #9  
Alt 22.04.2003, 12:37:12
Dago Dago ist offline
Member
 
Registriert seit: Mar 2002
Beiträge: 548
Nein, include_once cached die Datei schon, im Gegensatz zum rohen include()...
Der Unterschied zum require() ist allerdings, dass dies zur Laufzeit des Skripts ausgeführt wird.
require() könntest du sogar in
PHP-Code:
if (== 2) { //Tritt niemals ein *g
    
require('test.php');

schreiben, und Test test.php würde trotzdem inkludiert werden...

Berichtigung: Sorry, war Quatsch......
Ich meinte, das mal irgendwo gelesen zu haben... Hab's eben getestet -> funzt nicht.
Ähm, vergiss einfach, was ich geschrieben hab ;o)

Geändert von Dago (22.04.2003 um 12:42:29 Uhr)
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 16:10:36 Uhr.


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


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