Avatar
Jakub Lásko[Saarix]:

Zdravím, dělám na jednorázovém projektu v PHP, ale nejsem v PHP zaběhlý, tak se kdyžtak omlouvám za hloupý dotaz.

Vytvořil jsem si 2 třídy a 1 třída dědí z 2 trídy. Vše kódově proběhlo fajn, ale když jsem spustil "aplikaci", tak jsem dostal tento error:

Fatal error: Class 'Vyprava' not found in P:\xampp\htdoc­s\HeartOfElemen­ts\Vyprava_Boj­.php on line 14

Zde je třída Vyprava:

class Vyprava extends Vyprava_Boj
{
    // zíkladní proměnné
    private $location;
    private $focus;
    private $difficulty;
    private $duration;

    public function __construct($location, $focus, $difficulty, $duration,
     Character $player, Character $creature)
    {
        $this->location = $location;
        $this->focus = $focus;
        $this->difficulty = $difficulty;
        $this->duration = $duration;
        parent::__construct($player, $creature);
    }

A zde třída Vyprava_Boj:

class Vyprava_Boj extends Vyprava
{
    // řešíme zde samotný boj vyprávy + zde pak bude ovládání boje na
    // kola a různé další vychytávky při boji
    //základní proměnné
    private $player;
    private $creature;

    public function __construct(Character $player, Character $creature)
    {
        $this->player = $player;
        $this->creature = $creature;
    }

K načtení tříd v index.php jsem použil toto:

function nactiTridu($trida)
        {
            require("$trida.php");
        }
        spl_autoload_register("nactiTridu");

Děkuji za veškeré reakce.

Odpovědět 12.9.2013 17:29
Časem je vše možné.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Jakub Lásko[Saarix]
Kit:

Máš tam kruhovou závislost

class Vyprava extends Vyprava_Boj
class Vyprava_Boj extends Vyprava
Nahoru Odpovědět  +1 12.9.2013 17:38
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Kit
Petr Nymsa:

To mě do teď ani nenapadlo že to půjde realizovat :D

Nahoru Odpovědět  +2 12.9.2013 18:02
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Odpovídá na Kit
Jakub Lásko[Saarix]:

Díky moc a omlouvám se, jak jsem to dělal v kuse a pak jsem to změnil, tak jsem to tam zapoměl smazat. Přistě si dám 20 minut pauzu a až pak se na to mrknu.

Nahoru Odpovědět 12.9.2013 18:19
Časem je vše možné.
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 4 zpráv z 4.