Modulübergreifende Variablen

Gesperrt
Chopper
Beiträge: 108
Registriert: Mi 9. Feb 2005, 17:09
Wohnort: Berlin
Kontaktdaten:

Modulübergreifende Variablen

Beitrag von Chopper »

Hab dazu noch keinen Beitrag gefunden irgendwie,
jedenfalls wenn 2 Module den selben Variablennamen haben und nicht anfangs bzw. am ende des moduls wieder gelöscht wurden ist der Inhalt der anderen Module noch in der Variable enthalten ...
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

das ist richtig, ja. die frage ist nur, was ist deine frage?
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
Chopper
Beiträge: 108
Registriert: Mi 9. Feb 2005, 17:09
Wohnort: Berlin
Kontaktdaten:

Beitrag von Chopper »

*g* finde das ist nen bug, keine Frage ;) ...
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

definitiv kein bug. das liegt einfach an php und nicht an contenido. eine variable hat genau den kontext, den du ihr gibst. das heist, eine globale variable ist halt global (und dadurch in anderen modulen verfügbar), wenn du sie global machst. wenn du klassen bildest, dann gelten die variablen entsprechend auch nur in den klassen. sprich: es funktioniert alles genau so, wie es soll.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
Chopper
Beiträge: 108
Registriert: Mi 9. Feb 2005, 17:09
Wohnort: Berlin
Kontaktdaten:

Beitrag von Chopper »

naja manchmal weißt du ja nicht das jemand anders auch eine variable

$tmp oder was weiß ich $name hat ... und wenn dann beide module zusammen in einem Artikel sind kommt es unerwartet zu Fehlern ...
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

es gibt zwei mögliche lösungen:

(1) die 'normale': alle benötigten variablen sauber initialisieren (z.b. auf null stellen)

oder

(2) die 'elegante': klassenbildung und nur variablen des klassenkontextes verwenden und globale variablen bewusst über $_GLOBALS einbinden.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
Chopper
Beiträge: 108
Registriert: Mi 9. Feb 2005, 17:09
Wohnort: Berlin
Kontaktdaten:

Beitrag von Chopper »

mit (2) meinst du functionen usw. anlegen und alles damit machen ? ...

Naja also ich
unset($my_local_vars,$my_db_data, $my_tmp);
am anfang und am ende alle Variablen ...
in 2 Modulen weise ich $my_local_vars verschieden CMS_HTML[0-x] zu ,,,

$my_local_vars['html'][0] = "CMS_HTML[1]";
$my_local_vars['html'][1] = "CMS_HTML[2]";
$my_local_vars['html'][2] = "CMS_HTML[3]";

so, trotz des unset von $my_local_vars am anfang und ende beider Module, habe ich in CMS_HTML[1] in beiden Modulen den selben inhalt, heißt wenn ich in CMS_HTML[1] reinschreibe im backend "INSTALLATION" dann steht das in beiden Modulen da wo ich CMS_HTML[1] dann ausgebe ...
theoretisch müssten doch die CMS_HTML Variablen von Contenido in jedem Modul seperat behandelt werden oder ?
Gesperrt