News - Features - Downloads - Forum - Team - Support - Switch View: Screen
Login - Registrierung - Passwort vergessen

Antworten: 8
Seite [1]
Fr33z3m4n ClanSphere Team


Medal of Honor




Herkunft: Hamm
Beiträge: 11094
# Thema - 15.06.2009 um 14:42 Uhr
Hi,

habe gerade ein seltsames Problem.

Eine Klasseninstanz wurde erstellt, und die Funktion

public function getNavigation() {..}
wird aufgerufen. In dieser include ich die navigations Datei. Jedoch hab ich dann nicht die PHP Variablen aus der navigationsdatei zur Verfügung.

Lass ich die Datei über den Konstruktur includen, und beleg eine variable mit den PHP Vars aus der Datei, kann ich diese in meiner funktion getNavigatino nutzen.

Versteh nur nicht ganz, wieso das nicht direkt in der Funktion geht. Kennt jemand so ein Problem ?


------------------
mfg
Patrick "Fr33z3m4n" Jaskulski

Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer.
Inaktiv
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 1 - 15.06.2009 um 14:44 Uhr
wie sieht die getnavigation funktion aus, wie bindest du ein und auf was willst du zugreifen?


Inaktiv
|
Fr33z3m4n ClanSphere Team
Thread-Ersteller


Medal of Honor




Herkunft: Hamm
Beiträge: 11094
# Antwort: 2 - 15.06.2009 um 14:46 Uhr
 
1.
2.
3.
4.
1. / 2. / ... 
 public function getNavigation() {
        
$nFile './configs/navigation.inc.php';
        include_once 
$nFile;
}

navigation.inc.php
 
1.
1. / 2. / ... 
 $_navi['oben'][] = array('Startseite'0'index''_top'10);

in der funktion ist es nicht möglich auf $_navi zu zugreifen
Wie gesagt, verlager ich das include auf den Konstruktor, geht alles


------------------
mfg
Patrick "Fr33z3m4n" Jaskulski

Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer.

Zuletzt editiert von Fr33z3m4n ClanSphere Team am 15.06.2009 um 14:47 Uhr (1x Editiert)
Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 3 - 15.06.2009 um 14:49 Uhr
bist denn sicher dass die datei überhaupt gefunden+geladen wird?
versuch mal require


Inaktiv
|
Fr33z3m4n ClanSphere Team
Thread-Ersteller


Medal of Honor




Herkunft: Hamm
Beiträge: 11094
# Antwort: 4 - 15.06.2009 um 14:52 Uhr
Jip, bin ich, änder ich ein Buchstabe am Dateinamen, bekomm ich PHP Notice fehler. Hatte ich auch schon dran gedacht.
require auch schon getestet, ohne Erfolg.


------------------
mfg
Patrick "Fr33z3m4n" Jaskulski

Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer.

Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 5 - 15.06.2009 um 14:54 Uhr
wenn du in der navi datei irgendwas machst,also zb ne ausgabe oder nen die(), wird das dann ausgeführt?


Inaktiv
|
Fr33z3m4n ClanSphere Team
Thread-Ersteller


Medal of Honor




Herkunft: Hamm
Beiträge: 11094
# Antwort: 6 - 15.06.2009 um 14:56 Uhr
ka, weil ich es gerade gelöst habe

egal wieso weshalb warum, include_once funktioniert nicht, include, oder require dahingehend schon.
Solltest du das require gemeint haben, (nicht require_once) war das richtig.

Fällt dir auf Anhieb ein, wieso _once nicht funzt ?


------------------
mfg
Patrick "Fr33z3m4n" Jaskulski

Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer.

Inaktiv
|
SCHIRI ClanSphere Team


Weltmeister



Herkunft: Hamburg
Beiträge: 5299
# Antwort: 7 - 15.06.2009 um 15:11 Uhr
ich könnt mir so grob vorstellen, dass der code der klasse schon vor dem instanzieren einmal ausgeführt wird, wobei dann die datei schon einmal aingelesen wird. zumindest so ähnlich. weil ne klasse ja sozusagen nicht von oben nach unten abgearbeitet wird.

Denn wenn du ne 2. instanz machst, macht _once ja auch gar keinen sinn mehr: es wurde schon einmal included, aber in einer ganz anderen instanz, weshalb es ja sogesehen gar nicht included wurde. soll es dann doch nochmal included werden? Ein once macht innerhalb einer intanz einfach keinen sinn.


------------------
www.laszlokorte.de

Zuletzt editiert von SCHIRI ClanSphere Team am 15.06.2009 um 15:14 Uhr (1x Editiert)
Inaktiv
|
Fr33z3m4n ClanSphere Team
Thread-Ersteller


Medal of Honor




Herkunft: Hamm
Beiträge: 11094
# Antwort: 8 - 15.06.2009 um 15:14 Uhr
15.06.2009 um 15:11 Uhr - SCHIRI:
ich könnt mir so grob vorstellen, dass der code der klasse schon vor dem instanzieren einmal ausgeführt wird, wobei dann die datei schon einmal aingelesen wird. zumindest so ähnlich. weil ne klasse ja sozusagen nicht von oben nach unten abgearbeitet wird.

hehe jip, genau da bin ich auch gerade hintergekommen.

Hab 3 Konfig Dateien, die alle ein include auf die nächste haben. Da bereits bei der Instanzierung die erste Konfig Datei gelesen wurde, hat diese logischerweise die restlichen mit gelesen, und die vars weggeschrieben, somit ist ein include_once nicht mehr möglich, da diese bereits durch eine andere konfig aus der Instanzierung gelesen wurde.

Tjaja, man sollte noch 3 Std. länge drauf schauen, bevor man verstanden hat, was man letzte Woche noch geschrieben hatte ^^


------------------
mfg
Patrick "Fr33z3m4n" Jaskulski

Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer.

Inaktiv
|
Antworten: 8
Seite [1]


Sie müssen sich registrieren, um zu antworten.


ClanSphere Project - Mailus - Imprint - Disclaimer - Scriptinfo