/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
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 :)

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste