Jak vytvořit v PHP virtuální třídu?

phpman

Jak vytvořit v PHP virtuální třídu?
« kdy: 19. 01. 2018, 13:22:10 »
Ahoj, poradí někdo, jak v php vytvořit "virtuální" class? Nemůžu nic najít. Díky
« Poslední změna: 19. 01. 2018, 13:34:05 od Petr Krčmář »


Mufasa

Re:Jak vytvořit v PHP virtuální třídu?
« Odpověď #1 kdy: 19. 01. 2018, 13:46:13 »
Definujte virtualnu.

phpman

Re:Jak vytvořit v PHP virtuální třídu?
« Odpověď #2 kdy: 19. 01. 2018, 13:57:19 »
Po startu potřebuji vytvořit nějakou statickou třídu, ve které bych vytvořil nějaké const které by byly dostupné v celé aplikaci. Proč ji chci vygenerovat a ne ji napsat přímo do kódu? Statická třída se vždy zavolá celá a obsah těch const je celkem časově náročné vytvořit, no a když tu class zavolám 10x tak by se to vždy generovalo znova.

phpman

Re:Jak vytvořit v PHP virtuální třídu?
« Odpověď #3 kdy: 19. 01. 2018, 13:59:51 »
Potřebuji vygenerovat tedy něco takového....

Kód: [Vybrat]
class Foo {
    const BAR = 42;
}

Kit

Re:Jak vytvořit v PHP virtuální třídu?
« Odpověď #4 kdy: 19. 01. 2018, 14:01:33 »
To je přece obyčejná třída. Na tohle žádnou virtuální nepotřebuješ.


phpman

Re:Jak vytvořit v PHP virtuální třídu?
« Odpověď #5 kdy: 19. 01. 2018, 14:07:20 »
Napsal jsem to vážně k nepochopení, nebo jsi četl jen nadpis?

.

Re:Jak vytvořit v PHP virtuální třídu?
« Odpověď #6 kdy: 19. 01. 2018, 14:45:25 »
Napsal jsi to jako debil a zase vymýšlíš kraviny. Jako vždycky.

Sten

Re:Jak vytvořit v PHP virtuální třídu?
« Odpověď #7 kdy: 19. 01. 2018, 15:12:01 »
Třída se statickými členy (všichni členové se inicializují při prvním přístupu ke třídě):

Kód: [Vybrat]
class Foo {
    public static const BAR = 42;
}

Třída s línou inicializací (každý člen se inicializuje až při prvním přístupu):

Kód: [Vybrat]
class Foo {
    private static $bar = NULL;

    public static getBar() {
        if ($bar == NULL)
            $bar = 42;
        return $bar;
    }
}

3ugeene

Re:Jak vytvořit v PHP virtuální třídu?
« Odpověď #8 kdy: 19. 01. 2018, 15:16:38 »
eval?

phpman

Re:Jak vytvořit v PHP virtuální třídu?
« Odpověď #9 kdy: 19. 01. 2018, 15:20:45 »
To je nesmyls, $bar = NULL; bude při každém zavolání třídy.

Trupik

Re:Jak vytvořit v PHP virtuální třídu?
« Odpověď #10 kdy: 19. 01. 2018, 15:22:48 »
To je nesmyls, $bar = NULL; bude při každém zavolání třídy.
Čo Vy si, Kefalín, predstavujete pod takým pojmom: "zavolání třídy" ?  ;D

phpman

Re:Jak vytvořit v PHP virtuální třídu?
« Odpověď #11 kdy: 19. 01. 2018, 15:25:11 »
Foo::$bar;

phpman

Re:Jak vytvořit v PHP virtuální třídu?
« Odpověď #12 kdy: 19. 01. 2018, 15:26:16 »
EDIT
Foo::getBar() ;

3ugeene

Re:Jak vytvořit v PHP virtuální třídu?
« Odpověď #13 kdy: 19. 01. 2018, 15:35:12 »
lol

Mufasa

Re:Jak vytvořit v PHP virtuální třídu?
« Odpověď #14 kdy: 19. 01. 2018, 15:38:24 »
Tak preco si na zaciatku skriptu nevytorite "singleton" tej triedy?

$foo = new Foo;

a potom uz dalej pristupujete k $foo?