PHP5 Generics

theril 18.01.05 02:10

Viritys, jolla saavutetaan C++-tyyppiset templatet PHP5:llä.

 Tekstiversio  Arvo: -1 (5 ääntä)  Äänestä: +  -
<?php
/**
 * Ei suositella oikeasti käytettäväksi
 */

function __autoload($className)
{
        $names = explode('__', $className, 2);
        if(count($names) != 2) return;

        eval(
        "class $className extends {$names[0]}
        {
                public static function getTemplateValue()
                {
                        return {$names[1]};
                }
        }"

        );
}

class Dummy {}
echo Dummy__HelloWorld::getTemplateValue()."\n";
$bye = new Dummy__ByeBye();
echo $bye->getTemplateValue()."\n";
?>

editoitu: 22:27 19.1.05
Ztane 12:01 18.1.05 
öh, köh... krhm... tällanenki autoloadi piti kopioijja phpeehenki sitte perlistä :d
theril 00:20 20.1.05 
No ei ihan kaikki perlistä nyysityt ominaisuudet ole negatiivisia. Vaikka tämän toteutus olisi voinut olla vähän parempi, tällä hetkellä on pirun hankalaa / mahdotonta määrittää koodissa uutta autoloaderia.