| Josh |
Geschrieben am: Mo 23.08.2004, 21:50
|
![]() AyomRank 9 Gruppe: Moderatoren Beiträge: 2142 Mitglied seit: 19.10.2003 |
hi alle.
für eine app benötige ich statische klassen. klar, man kann einfach ClassName::functionName($xy) aufrufen, sodass man keine instanz erzeugen muss, aber leider kann man so der klasse auch keine dauerhaften variablen assignen: ClassName::attributeName = "xxx"; bricht mit einem Fehler ab, und ClassName::setAttributeName("xxx"); funktioniert zwar zum schein, aber die variable geht einfach im nichts verloren. ich habe nun eine lösung gefunden, indem ich die globale variable $GLOBALS verwende. klar wird jetzt jeder schreien, man soll keine globalen variablen verwenden, aber ich denke mal, ich habe doch ein recht affensicheres system erfunden. wenn jemand daran interessiert ist, dann kann ich die klasse veröffentlichen; es ist eine klasse, welche abgeleitet werden sollte. also kann man sie mit allen möglichen funktionen ergänzen, aber sie bleibt statisch (kann nicht per new erzeugt werden). hat sonst mal jm hier erfahrungen mit statischen klassen in php gemacht? ich weiss, dass php5 da meilen weitergekommen ist, aber solange ich scripts übers internet verbreite und php5 noch lange nicht auf jedem server vorhanden ist, muss ich wohl oder übel auf meine lösung zurückgreifen. gruss j0sh -------------------- Mein letztes Projekt: Atelier-Schmuck.ch
"Das habe ich nie getan und werden es auch nie wieder tun!" :lol: |
![]() |
| Alain_Aubert |
#2 Geschrieben am: Mi 25.08.2004, 09:27 (+35:37)
|
||
|
Ayom Slave Gruppe: Admin Beiträge: 4826 Mitglied seit: 25.09.2003 |
Ich bin mir jetzt wirklich gar nicht mehr sicher, ob ich überhaupt verstanden habe, wass du da schreibst. Wieso willst du die Klasse nicht instanzieren? "Statische" Variablen hab ich immer so gemacht, eine einzige Instanz:
->this is bar<br>another bar<br>asdf |
||
![]() |
| Josh |
#3 Geschrieben am: Mi 25.08.2004, 10:05 (+00:38)
|
||||||
![]() AyomRank 9 Gruppe: Moderatoren Beiträge: 2142 Mitglied seit: 19.10.2003 |
das ist schön und recht, solange du nur im rahmen des php-dokuments selber auf die klasse zugreifen willst. aber nehmen wir an, wir wollen einen logger haben, welcher von jeder klasse benutzt werden kann und praktische log-einträge in eine log.txt schreibt:
so weit, so gut. doch was machen wir nun, wenn wir mehr Klassen als nur die klasse Something haben und von jeder klasse aus den logger verwenden wollen? dazu müssten wir das ganze initialisieren des loggers wiederholen:
das funktioniert an sich, aber was, wenn wir den logging-level von "USER" auf "DEBUG" ändern wollen, weil wir genauere logs haben wollen? dann müssten wir in jeder einzelnen klasse von hand setLoggingLevel("XXX") ändern, was aber umständlich ist wenn man tonnenweise klassen hat, welche alle auf den logger zugreifen. alternativ könnte man es irgendwie machen, dass man statisch auf den logger zugreift, indem man statt "$this->logUser()" immer "LOGGER::logUser()" verwendet. so würde jede klasse immer genau auf dieselbe (an sich nicht vorhandene instanz) zugreifen, aber man müsste den loggingLevel dann immer innerhalb der klasse LOGGER selber anpassen, da man eben keine variablen dieser inexistenten instanz hinzufügen kann (per LOGGER::myVar = "xyz" => gibt error!). schon etwas einfacher, aber noch lange nicht wirklich schön dynamisch. und HIER setzt meine theorie ein. auch bei meinem LOGGER werden alle klassen mit LOGGER::xyz() aufgerufen, aber man kann der "instanzlosen LOGGER instanz" vars hinzufügen und irgendwo in einer klasse wieder abrufen per getter() und setter(), denn der getter und setter sieht so aus:
ich weiss nicht, obs jetzt ein bisschen klarer ist, sonst werd ich's dir bei einem etwaigen treffen mal etwas genauer erklären. -------------------- Mein letztes Projekt: Atelier-Schmuck.ch
"Das habe ich nie getan und werden es auch nie wieder tun!" :lol: |
||||||
![]() |
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/2704
![]() |
![]() ![]() ![]() |
| Themen Titel | Autor | Views | Antworten | Letzte Aktion |
| statische vs. dynamische Inhalte | VoinG | 231 | 3 | Di 30.09.2008, 19:45 |
| Geld verdienen mit Klassen und Funktionen | nitrit | 299 | 8 | Mi 19.03.2008, 20:15 |
| Adsense für Statische Webseiten | -TFS- | 307 | 0 | Do 8.02.2007, 15:15 |
| Statische/dynamische URLS | pangu | 420 | 3 | Sa 6.01.2007, 12:45 |
| PHP: Klassen | Webi | 343 | 3 | Do 30.12.2004, 13:19 |
| Was sind den nun Klassen | Tyssen | 360 | 2 | Fr 29.10.2004, 15:51 |
| geht css :hover auch bei eigenen klassen? | j0sh | 628 | 2 | Di 25.05.2004, 17:04 |
Anzeige - [Hier werben / Mediadaten]













