|
| Synonymt navn til funktion Fra : Jens Thomsen |
Dato : 27-01-08 03:04 |
|
Jeg har et par funktioner som har nogle halv-lange navne, f.eks.
fetch_language()
Jeg har brug for at have nogle synonymer til dem, f.eks. fl()
Kan man det direkte eller skal jeg lave en wrapper der så kalder den lange
funktion?
| |
Martin (27-01-2008)
| Kommentar Fra : Martin |
Dato : 27-01-08 03:45 |
|
Jens Thomsen wrote:
> Jeg har et par funktioner som har nogle halv-lange navne, f.eks.
> fetch_language()
>
> Jeg har brug for at have nogle synonymer til dem, f.eks. fl()
>
> Kan man det direkte eller skal jeg lave en wrapper der så kalder den lange
> funktion?
>
>
Pssst... lad vær!!
Jo større dit projekt bliver, jo gladere bliver du for at dine
funktioner hedder det rigtige, forstil dig du har 30 funktioner der
hedder et eller andet på 2 bogstaver - fx. fl, fa, ft, mr - så er det
totalt umuligt at finde rundt i til sidst, så kald funktionerne det de
gør, og gør dig selv meget gladere i sidste ende.
function et_meget_langt_navn($var1,$var2) {
return 'Hej '.$var1.' - '.$var2;
function emln($var1,$var) {
return et_meget_langt_navn($var1,$var2);
}
echo emln('Mig','Selv');
| |
Jens Thomsen (27-01-2008)
| Kommentar Fra : Jens Thomsen |
Dato : 27-01-08 10:15 |
|
> Pssst... lad vær!!
Jeg er ikke uenig i at det, brugt forkert, vil skabe forvirring.
Imidlertid er der undertiden funktioner man anvender hele tiden, f.eks.
sprogversioneringsfunktioner, som blot tager en streng og returnerer den
tilhørende oversættelse.
Jeg tænker at en mulighed for en wrapper er:
wrap ()
{
$values = join (", $", func_get_args());
if ($values)
$values = "$". $values;
$function_str = "full_function_name ($values);";
eval('$output = '. $function_str);
return $output;
}
Helt og aldeles utestet og der er nok noget med hvis der sendes 0 eller 1
argument.
Men er der smukkere alternativer?
| |
Bertel Lund Hansen (27-01-2008)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 27-01-08 11:00 |
|
Jens Thomsen skrev:
> Imidlertid er der undertiden funktioner man anvender hele tiden [...]
Det får ikke mig til at ændre mening. Jeg er enig med Martin.
Jeg har prøvet at kikke på kode som jeg selv havde lavet for tre
måneder siden, hvor arbejdet med at sætte mig ind i hvad der
foregik, næsten svarede til at skrive det hele forfra.
--
Bertel
http://bertel.lundhansen.dk/ FIDUSO: http://fiduso.dk/
| |
Martin (27-01-2008)
| Kommentar Fra : Martin |
Dato : 27-01-08 15:09 |
|
Jens Thomsen wrote:
>> Pssst... lad vær!!
>
> Jeg er ikke uenig i at det, brugt forkert, vil skabe forvirring.
>
> Imidlertid er der undertiden funktioner man anvender hele tiden, f.eks.
> sprogversioneringsfunktioner, som blot tager en streng og returnerer den
> tilhørende oversættelse.
Det ENESTE tidspunkt hvor jeg bruger en funktion med et ikke-sigende
navn er ved sprog. Jeg plejer at kalde den funktion for __ ja underscore
underscore.
fx.
function __($page,$name,$doEcho=false) {
$obj = new Language($page);
if($doEcho) echo $obj->getLL($name);
else echo $obj->getLL($name);
}
så kaldes den
echo __('front','Dothis');
>
> Jeg tænker at en mulighed for en wrapper er:
>
> wrap ()
Hvis du smider function ind foran wrap, så har du en funktion som hedder
wrap() - så tjekker man selvfølgelig lige op i manualen om den funktion
allerede eksisterer i PHP hierakiet :)
> {
> $values = join (", $", func_get_args());
> if ($values)
> $values = "$". $values;
>
> $function_str = "full_function_name ($values);";
>
> eval('$output = '. $function_str);
> return $output;
> }
>
> Helt og aldeles utestet og der er nok noget med hvis der sendes 0 eller 1
> argument.
>
> Men er der smukkere alternativer?
Ja, OO, men tager nok lidt længere tid at lære end et ½ år :)
| |
Birger (27-01-2008)
| Kommentar Fra : Birger |
Dato : 27-01-08 11:15 |
|
"Martin" <martin@aarhof.eu.invalid> skrev i en meddelelse
news:479bf034$0$90269$14726298@news.sunsite.dk...
> Jens Thomsen wrote:
>> Jeg har et par funktioner som har nogle halv-lange navne, f.eks.
>> fetch_language()
>>
>> Jeg har brug for at have nogle synonymer til dem, f.eks. fl()
8X
Det er helt klart en OMMER!
Hvor mange "synonymer" skal du bruge? Et langt, et kort, et halvlangt og et
halvkort - og så et meget kort. Så kan du bruge det af dem du lige er i
humør til i dag?
Er der andre end dig selv, der skal kunne finde rundt i det?
Ved ikke lige hvor stort det du forsøger at lave er, men selv i et lille
system, er der een funktion der udfører een operation.
Har du to der gør det samme, har du mistet overblikket (og din dokumentation
er ikke god nok!)
Hvis du er for doven til at skrive lange navne, så find på nogle korte mere
beskrivende.
Birger
-----
http://bbsorensen.dk
http://varmeretter.dk - hverdagsmad. Sundt, nemt hurtigt og billigt. Daglig
opdatering.
| |
Peter Brodersen (28-01-2008)
| Kommentar Fra : Peter Brodersen |
Dato : 28-01-08 15:48 |
|
On Sun, 27 Jan 2008 11:15:15 +0100, "Birger" <sdc@bbsorensen.com>
wrote:
>Hvis du er for doven til at skrive lange navne, så find på nogle korte mere
>beskrivende.
... eller sørg for at ens editor har noget i stil med tab-completion,
som også understøtter brugerdefinerede funktioner.
--
- Peter Brodersen
Kendt fra Internet
| |
Martin (29-01-2008)
| Kommentar Fra : Martin |
Dato : 29-01-08 23:08 |
|
Peter Brodersen wrote:
> On Sun, 27 Jan 2008 11:15:15 +0100, "Birger" <sdc@bbsorensen.com>
> wrote:
>
>> Hvis du er for doven til at skrive lange navne, så find på nogle korte mere
>> beskrivende.
>
> .. eller sørg for at ens editor har noget i stil med tab-completion,
> som også understøtter brugerdefinerede funktioner.
>
Eller bare finder de forskellige inkluderet klasser, funktioner eller
php funktioner imens man skriver :)
| |
|
|