2024-04-19 21:37 CEST


View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000099Branch 0.2.1-FINALFeature Requestpublic2016-11-23 10:07
Reporteruser13 
Assigned ToQuix0r 
PrioritynormalSeverityfeatureReproducibilityN/A
StatusclosedResolutionwon't fix 
PlatformApache 2.2.9 - mod_php 5.2.6OSWindows Vista Ultimate x64 SP1OS Version6001 SP1
Product Version0.2.1-FINAL 
Target Version0.2.1-FINALFixed in Version0.2.1-FINAL 
Summary0000099: In Funktionen der Hauptsächliche einsatz von $GLOBAL
DescriptionWin in einer Notitz in 0000096 angekündigt nun mein Vorschlag.

Da sich ja etliche nicht vorhandenen Variablen-Fehler durch die Kapselung von require und include ergeben haben, währe es sehr sinvoll, jede Variable die in einer Funktion von Außen hereingebracht werden muss oder nach Ausßen gebracht werden muss, diese von $GLOBAL herein zu holen. Da ja ein global-Statement auch vom Scope der aufrufenden Funktion abhängig ist währe eine Lösung über $GLOBAL sehr sinvoll.

Ich hab da mal für ein kleines Framework eine Funktion geschrieben, die mir Konfigurations-Array per Referenzen hereingeholt hat. Ich werde mir da mal was überlegen.

Alle Funktionen damit auszustatten, währe vielleicht ein wenig zu Aufwändig für 0.2.1 aber in 0.3.0 sollte dieses Prinzip konsequent durchgesetzt werden, um solche Fehler zu vermeiden.
TagsNo tags attached.
Attached Files

-Relationships Relation Graph ] Dependency Graph ]
related to 0000109new Zugriffe auf $GLOBALS['cache_array'] in der Cache-Klasse kapseln 
related to 0000100closedQuix0r Falsch leitende Variable $CSS umbenennen und globals vermeiden 
+Relationships

-Notes

~0000263

user13

Last edited: 2010-05-28 19:28

View 2 revisions

Hab mal ein kleines Beispiel zusammengebastelt, wie das aussehen könnte: http://www.mxchange.stelzi.net.invalid/get_Global.zip

~0000274

Quix0r (administrator)

Erstmal so ansich ein gutes Beispiel. Vielleicht kannst du es noch so umschreiben, dass mehrdimensionale Arrays verarbeitet werden koennen?

~0000306

Quix0r (administrator)

In 0.3.0 werde ich z.B. die Konfiguration per $this->getConfigInstance()->readConfig('some_config_entry') machen. Alles andere (ausser lokale Variablen) kommt per $someInstance herein und kann sauber mit Gettern geholt werden.

Ich verknuepfe dies mal mit dem Ticket 0000109, da dort ebenfalls eine Kapselung Thema ist.

~0000344

Quix0r (administrator)

Die Datei aus Kommentar 263 ist leider nicht mehr vorhanden.

~0000354

user13

So ist wieder online.

~0000359

Quix0r (administrator)

Hab mit Commit 1092 die Elemente 'action','what','module' und 'output_mode' (alle in $GLOBALS) in Funktionen verpackt (wrapper-functions.php). Ich denke, eine globale Funktion wie deine waere zu sehr generic.

~0000360

Quix0r (administrator)

Mit Commit 1094 ist nun auch $_CONFIG nicht mehr global, sondern in $GLOBALS['config'] umgewandelt - bis auf ein paar Stellen noch.

~0000380

Quix0r (administrator)

Die letzten Stellen waren in Templates verpackt. Nun sind auch die "gefixt". Momentan ist die ext-sponsor wegen dieser Aenderung defekt. Sollte noch gefixt werden.

~0000381

Quix0r (administrator)

Sollte funktionieren, da {?some_config?} mit dem Rueckgabewert von getConfig('some_config') ausgetauscht wird. :( Ist schon spaet...

~0000576

Quix0r (administrator)

Das Verarbeiten von globalen Einträgen ist nun weitgehenst durch Funktionen gekapselt.

~0000641

Quix0r (administrator)

Und zu damit.
+Notes

-Issue History
Date Modified Username Field Change
2009-02-28 04:57 user13 New Issue
2009-02-28 04:57 user13 Status new => assigned
2009-02-28 04:57 user13 Assigned To => Quix0r
2009-02-28 05:36 user13 Note Added: 0000263
2009-02-28 13:44 Quix0r Relationship added related to 0000100
2009-02-28 17:59 Quix0r Note Added: 0000274
2009-03-08 21:49 Quix0r Note Added: 0000306
2009-03-08 21:49 Quix0r Relationship added related to 0000109
2009-03-12 18:07 Quix0r Product Version 0.2.1-FINAL =>
2009-03-12 18:07 Quix0r Build => SVN-HEAD
2009-07-26 16:46 Quix0r Note Added: 0000344
2009-07-28 17:54 user13 Note Added: 0000354
2009-07-28 20:51 Quix0r Note Added: 0000359
2009-07-28 21:18 Quix0r Note Added: 0000360
2009-10-11 01:57 Quix0r Note Added: 0000380
2009-10-11 01:59 Quix0r Note Added: 0000381
2009-11-25 22:56 Quix0r Fixed in Version => 0.2.1-FINAL
2009-12-15 11:59 Quix0r Projection none => major rework
2009-12-15 11:59 Quix0r ETA none => > 1 month
2009-12-15 11:59 Quix0r Severity minor => feature
2010-05-28 18:27 Quix0r Build SVN-HEAD => 0.2.1-FINAL
2010-05-28 18:36 Quix0r Product Version => 0.2.1-FINAL
2010-05-28 19:28 Quix0r Note Edited: 0000263 View Revisions
2010-06-08 03:42 Quix0r Fixed in Version 0.2.1-FINAL =>
2012-10-08 10:45 Quix0r Note Added: 0000576
2012-10-08 10:45 Quix0r Status assigned => resolved
2012-10-08 10:45 Quix0r Resolution open => won't fix
2016-11-23 10:06 Quix0r Fixed in Version => 0.2.1-FINAL
2016-11-23 10:07 Quix0r Status resolved => closed
2016-11-23 10:07 Quix0r Note Added: 0000641
+Issue History