Autor Zpráva
Monkeys
Profil *
Zdravim
Ako volat staticku metodu a pouzit jej obsah v dalsej funkcii?

mam napr toto:
public static $model = new zoznamKategorii_model();

a potom to chcem pouzit vo viacerych funkciach (bez toho aby som vzdy musel v kazdej funkcii volat novu a novu instanciu)
Skusam toto ale nefunguje to
public function test(){
$this->vypis = self::model->strankovanie($pociatok, $strankovanie);
}

dik za vysvetlenie

M.
Joker
Profil
Monkeys:
Ještě dolar.
self::$model
Monkeys
Profil *
Joker:
dik no myslel som ze to pojde ale hlasi mi to parse error na tomto riadku ale fakt neviem kde?

public static $model = new zoznamKategorii_model();

M.
Monkeys
Profil *
Vyriesil som to cez dalsiu funkciu:

public function modelInstance(){
return $this->model = new ZoznamKategorii_Model();    
}

a potom uz len v ostatnych funkciach volam napr:
$this->vypis = $this->modelInstance()->strankovanie($pociatok, $strankovanie);

Asi sa nedaju ukladat do premennych instancie triedy. Nikde som otom nic nenasiel.

M.
Tori
Profil
Monkeys:
myslel som ze to pojde ale hlasi mi to parse error
http://php.net/manual/en/language.oop5.properties.php

Vyriesil som to cez dalsiu funkciu:
Při každém volání metody vytváříte novou instanci, nejspíš zbytečně. Šlo by to třeba takto:
public function modelInstance(){
    if (!$this->model || $this->model instanceof ZoznamKategorii_Model === false)
        $this->model = new ZoznamKategorii_Model();
    return $this->model;
}
Monkeys
Profil *
Tori:
Super vec

Trochu som to poopravil lebo to hadzalo chyby:

public function modelInstance(){
if(!$this || $this instanceof ZoznamKategorii_Model === false){
$this->model = new ZoznamKategorii_Model();    
}
return $this->model;
}
Tori
Profil
Monkeys:
lebo to hadzalo chyby
Jaké?

>> $this instanceof ZoznamKategorii_Model === false - takže $this i $this->model jsou instance třídy ZoznamKategorii_Model??
Monkeys
Profil *
Tori:
Undefined property: ZoznamKategorii::$model

Chapem to tak ze "Ak tato metoda alebo tato metoda este nie je inicializovana vytvor novu instanciu triedy"
Teda teoreticky asi nemoze este existovat $this->model kedze nebol este vytvoreny.
Ja to chapem tatko ak to chapem zle opravte ma :)

M.
Tori
Profil
Monkeys:
Aha, předpokládala jsem, že je ta vlastnost deklarovaná.
Znamená to: „pokud je proměnná prázdná (= není v ní instance třídy) anebo je v ní instance jiné třídy než ZoznamKategorii_Model“.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: