<?PHP
$z = strtolower;
echo $z('aBcD');
?>
Hej.
Kan man ge ett kortare namn för en viss funktion?
Exempel:
public function ett_jobbigt_långt_namn_på_en_metod($param)
{
echo "jobbigt!";
}
Som jag vill kunna anropa med:
enklare($param);
10 svar · 506 visningar · startad av jme
Hej.
Kan man ge ett kortare namn för en viss funktion?
Exempel:
public function ett_jobbigt_långt_namn_på_en_metod($param)
{
echo "jobbigt!";
}
Som jag vill kunna anropa med:
enklare($param);
<?PHP
$z = strtolower;
echo $z('aBcD');
?>
Kan inte komma på något annat vis än att skapa en funktion med ett enklare namn och returnera det långa funktionnamnet i den funktionen.
public function ett_jobbigt_långt_namn_på_en_metod($param) {
// gör en massa saker med variabeln $param
return $param;
}
function enklare($param) {
return ett_jobbigt_långt_namn_på_en_metod($param);
}
enklare($param);
jme skrev:
Tack!
Men kan jag på nått sätt få sama funktionalitet utan att behöva använda dollartecknet? :)
Far jag fraga vad du har for problem med dollartecknet?
nitro: ditt exempel verkar inte fungera då jag vill skapa en alias för en statisk klass-metod.
Problemet har jag därför att jag kör med OOP och fejkade namespaces á la Java:
fi_jme_Klass::metod(); // klassen Klass finns i katalogen fi/jme
Det funkar någorlunda men det resulterar i att när man vill köra statiska metoder så får man skriva långa metodnamn. :|
Får nog köra med Meleas förslag. Fast då får jag köra en mix av oop och icke-oop. ;)
Nitro:
ser fult ut. ;)
Brukar inte associera $enFunktion som en riktig funktion.
Tyvärr har jag redan liknande kod som jag måste använda men men...
Kan du inte lägga funktionen enklare i en befintlig klass och anropa det med $klass->enklare($param);?
Funktionerna i fråga skall ingå i en s k helper-klass som bidrar systemet med publika funktioner som flera olika klasser kan tänkas behöva.
Visst kan jag placera metoderna i en bas-klass som sedan ärvda klasserna kan använda men då även såna klasser som inte ärver från just den klassen kan behövas så har jag tänkt ha dem i en generell klass.
Klass klass klass.. du verkar veta vad du snackar om så jag lägger mig inte i, lycka till! :)
Melea: ditt förslag är nog det bästa faktiskt, även om jag eventuellt måste göra ett fulhack. :)