Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: chyba "nenačtené třídy"

Aktivity
Avatar
Michal Žůrek - misaz:12.9.2013 20:28

Ahoj, php mi hodilo:

Notice: main(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "Souradnice" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in D:\htdocs\machr 37\sample.php on line 15

Nevíte co tou chybou může myslet?

 
Odpovědět
12.9.2013 20:28
Avatar
Odpovídá na Michal Žůrek - misaz
Michal Žůrek - misaz:12.9.2013 20:30

jinak on ten script funguje, ale zajimalo by mě, proč to vyhodil.

 
Nahoru Odpovědět
12.9.2013 20:30
Avatar
Kit
Tvůrce
Avatar
Kit:12.9.2013 20:37

Notice: main(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "Souradnice" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in D:\htdocs\machr 37\sample.php on line 15

Chce po tobě, abys měl deklaraci třídy Souradnice před voláním funkce unserialize(), která vytváří objekt této třídy.

Nahoru Odpovědět
12.9.2013 20:37
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Michal Žůrek - misaz:12.9.2013 20:39

já ale žádnou takovou metadu nevolám.

 
Nahoru Odpovědět
12.9.2013 20:39
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Kit:12.9.2013 20:43

Prostě se snažíš pracovat s nekompletním objektem třídy Souradnice. Asi ti v konstruktoru chybí něco důležitého - například volání konstruktoru rodiče.

Nahoru Odpovědět
12.9.2013 20:43
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Michal Žůrek - misaz:12.9.2013 20:47

problém je v tom že třída Souradnice vypadá takto:

class Souradnice {
        public $x;
        public $y;
        function __construct($x, $y) {
                $this->x = $x;
                $this->y = $y;
        }
}
 
Nahoru Odpovědět
12.9.2013 20:47
Avatar
Odpovídá na Michal Žůrek - misaz
Michal Žůrek - misaz:12.9.2013 20:53

a už vůbec ne na řádku 15 (a 16, tam je stejná chyba)

15: imagefilledrectangle($this->obrazek, 0, 0 , 100, 100,imagecolorallocate($this->obrazek, 255, 255, 255));
16: for ($i = 0; $i < 10; $i++) {
Editováno 12.9.2013 20:54
 
Nahoru Odpovědět
12.9.2013 20:53
Avatar
Odpovídá na Michal Žůrek - misaz
Michal Žůrek - misaz:12.9.2013 20:59

už jsme na to přišel, já jsem v bočním souboru (pro testování) zapoměl přejmenovat proměnnou. Nicméně díky za pomoc a vysvětlení..

 
Nahoru Odpovědět
12.9.2013 20:59
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Kit:12.9.2013 21:07

Jsem rád, že nejsem jediný, kdo píše testy :)

Stejně je to zvláštní vidět, jak má někdo nastavený tabulátor na 8 mezer. Zvykl jsem si na 4 mezery - jen v jazyku Haml používám dvě.

Nahoru Odpovědět
12.9.2013 21:07
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.