Empfehlungen: Erweiterte Suche

Verständnisfrage zu Undefined variable

Daten auslesen, verarbeiten und den Views übergeben

Verständnisfrage zu Undefined variable

Beitragvon heohni » Mi 2. Mär 2011, 23:31

Hi,

sorry wenn ich so eine banale Frage stellen muss, aber ich komm nicht weiter:

In meinem Controller habe ich
Code: Alles auswählen
$paystatus = 'einWert';

denn ich dann später in einem Array weiterverarbeite
Code: Alles auswählen

$p = array('paystatus' => $paystatus)
 


Meldung dazu:
Code: Alles auswählen
Notice (8): Undefined variable: paystatus


Wo genau an welcher Stelle muss ich die Variable deklarieren?
Code: Alles auswählen
var $name = 'Members';
var $components = array('Common');
var $paystatus;


Bringt keine Veränderung...
Irgendwie blick da grad nicht durch....
heohni
 
Beiträge: 42
Registriert: Sa 29. Jan 2011, 18:58

Re: Verständnisfrage zu Undefined variable

Beitragvon lukasstrassel » Do 3. Mär 2011, 01:02

"In meinem Controller habe ich"
->In welchem Controller?
"denn ich dann später in einem Array weiterverarbeite"
->später? = immernoch der gleiche controller?

wenn du mit "später" ein view meinst dann sollte es helfen die varible in der viewfunktion im controller zu setzen
d.h. z.b.
mein_controller.php
Code: Alles auswählen

function index(){
$paystatus = 'einWert';
$this->set('status',$paystatus);
}


jetzt solltest du in
view/mein/index.ctp per
Code: Alles auswählen
<?php var_dump($status);?>

zugriff auf die variable haben

MfG Lukas
lukasstrassel
 
Beiträge: 16
Registriert: Di 1. Mär 2011, 23:07

Re: Verständnisfrage zu Undefined variable

Beitragvon euromark » Do 3. Mär 2011, 01:26

du verwechselst basic php OOP zeugs

var $var;
zugriff über:
$this->var
= > klassenvariable

$var innerhalb des scopes von methoden:
zugriff über $var
= > lokale variable
euromark
 
Beiträge: 642
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows

Re: Verständnisfrage zu Undefined variable

Beitragvon heohni » Do 3. Mär 2011, 08:43

"In meinem Controller habe ich"
->In welchem Controller?
"denn ich dann später in einem Array weiterverarbeite"
->später? = immernoch der gleiche controller?


Der Controller ist immer der gleiche.
Mit später meine, im weiteren Verlauf innerhalb einer function.

Folge ich euromarks und verwende

var $paystatus;

$this->paystatus = 'wert1';

Erhalte ich Meldung

Undefined property: MembersController::$paystatus [APP\controllers\members_controller.php, line 130]

Zeile 130:
$anderevar = array('paystatus' => $this->paystatus)

Sorry, ich blicks noch immer nicht ... :|
heohni
 
Beiträge: 42
Registriert: Sa 29. Jan 2011, 18:58

Re: Verständnisfrage zu Undefined variable

Beitragvon euromark » Do 3. Mär 2011, 10:55

var $paystatus muss außerhalb vom methoden-scope definiert werden (was du vermutlich nicht gemacht hast)
euromark
 
Beiträge: 642
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows

Re: Verständnisfrage zu Undefined variable

Beitragvon heohni » Do 3. Mär 2011, 12:37

So langsam komme ich dem Ganzen etwas näher.

Der Wert $this->paystatus wird innerhalb einer for Schleife, die in einer foreach Schleife läuft, gesetzt.
Damit der Wert sich je Schleifendurchgang wieder richtig füllt, hatte ich ein unset($this->paystatus);
Ändere ich das in $this->paystatus = false; verschwinden die FEhlermeldungen und alles funktioniert wie gewünscht.
heohni
 
Beiträge: 42
Registriert: Sa 29. Jan 2011, 18:58


Zurück zu Controller

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron