Autor Zpráva
b022d
Profil *
Zdravím,
Chtěl jsem si napsat jednu takovou malou třídu, ale ztroskotal jsem hned na začátku...

<?php class MalaTrida{
public $promenna['prvni_vrstva']['druha_vrstva'] = "obsah";
}


A ona chyba. Prý neočekávané "[". Já vím, něco dělám špatně, ale žádný případ podobné věci v třídě jsem nikdy neviděl, je to proto z čiré nevědomosti. Mimo třídy to funguje perfektně, ale jak před to přijde public... Nemáte někdo tušení, čím by to mohlo být?

Díky
DoubleThink
Profil *
Vlastnost třídy není totéž, co proměnná. Prostuduj si, jaké výchozí hodnoty můžou vlastností tříd mít.

http://cz.php.net/manual/cs/language.oop5.basic.php
Casero
Profil
b022d
Zkus:
<?php class MalaTrida{
public $promenna = array("prvni_vrstva"=>array("druha_vrstva"=>"obsah"));
}
Joker
Profil
edit: tak nic :)
b022d
Profil *
Joker
Ale ano, dají. Například:
public $promenna = "neco"; 

je úplně vpořádku.

DoubleThink
Díky, očekával jsem neočekávatelné.

Casero
Pěkné... Ale ztrácí to už tu přehlednost...
b022d
Profil *
Tákže když to definuji takto:

<?php
public $promenna = array();
public function __construct(){
$this->promenna['prvni_vrstva']['druha_vrstva'] = "obsah";
} 
?>


Půjde to, jak se očekává?
b022d
Profil *
tedy vlastně:

<?php
class MalaTrida{
    public $promenna = array();
    public function __construct(){
        $this->promenna['prvni_vrstva']['druha_vrstva'] = "obsah";
    }
}
?>
b022d
Profil *
no, zkusil jsem to a ono to skutečně funguje. Díky všem, vyřešeno.

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:

0