webForumDet fria alternativet

alias för funktionsnamn

PHP

10 svar · 506 visningar · startad av jme

Medlem sedan maj 20012 237 inlägg
Frågan#1

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);

Medlem sedan aug. 20039 340 inlägg
#2
<?PHP

$z = strtolower;

echo $z('aBcD');

?>
Medlem sedan maj 20012 237 inlägg
#3

Tack!

Men kan jag på nått sätt få sama funktionalitet utan att behöva använda dollartecknet? :)

Medlem sedan juli 20033 147 inlägg
#4

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);
Medlem sedan aug. 20039 340 inlägg
#5

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?

Medlem sedan maj 20012 237 inlägg
#6

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. ;)

Medlem sedan maj 20012 237 inlägg
#7

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...

Medlem sedan juli 20033 147 inlägg
#8

Kan du inte lägga funktionen enklare i en befintlig klass och anropa det med $klass->enklare($param);?

Medlem sedan maj 20012 237 inlägg
#9

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.

Medlem sedan juli 20033 147 inlägg
#10

Klass klass klass.. du verkar veta vad du snackar om så jag lägger mig inte i, lycka till! :)

Medlem sedan maj 20012 237 inlägg
#11

Melea: ditt förslag är nog det bästa faktiskt, även om jag eventuellt måste göra ett fulhack. :)

481 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
342 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)