Hey guys...

Ik zoek een kort woord voor de naam van een constant, die de lading dekt. Ik leg het even uit.

We hebben bijv. een lijstje met constanten die een waarde vertegenwoordigen:


dutch   = nl
english = uk
red     = 1
blue    = 2

Nu wil ik dus weten hoe je zo'n naam van een constante noemt, dus in dit geval "dutch" of "english". Ik wil namelijk een functie maken die die naam teruggeeft. Dus getXXX('nl') moet "dutch" teruggeven. Ik weet alleen geen goede functienaam. Ik dacht aan getName, maar het is eigenlijk niet echt een naam.

In code wil ik zeg maar zoiets kunnen doen:

<?php
echo 'I speak ' . getXXX('nl'); // I speak dutch.
echo 'The car is ' . getXXX(1); // The car is red.
?>
Wie weet een leuk naam voor deze functie? Of misschien zoiets als valueToText(), alleen "text" is ook weer zo algemeen.

<?php
echo 'I speak ' . valueToText('nl'); // I speak dutch.
echo 'The car is ' . valueToText(1); // The car is red.
?>
Het zou op zich kunnen, maar misschien is er hier iemand die nog iets beters weet?
varname
pointername
>> We hebben bijv. een lijstje met constanten die een waarde vertegenwoordigen

Dus:
<?
class Ozzie {
	const dutch = 'nl'
}
?>

En dan wil je de naam van de constante achterhalen?

@Ger:

Correct. Die naam kan ik wel achterhalen... maar ik wil een goede naam hebben die uitlegt wat ik doe. Ik wil dus weten hoe je "dutch" noemt. Ik zou natuurlijk kunnen zeggen getConstantName ofzo, maar ik zoek iets korters. Je zet dus eigenlijk de value om naar xxx. Maar hoe noem je dat xxx? Het is geen ID, het is geen afkorting, ja het is text, maar dat is wel weer erg algemeen. Dus ik vroeg me af of iemand er een woord voor weet wat de lading dekt.
Het klinkt alsof je de key van een map/array wilt returnen. getKey() zou dan een goede naam zijn.
Hey Dos, wat je zegt klopt technisch gezien helemaal. Maar ik wil een... hoe leg ik dat uit... een meer betekenisvolle naam.

Kijk, ik wil bijvoorbeeld kunnen zeggen: echo 'Dos is wearing a ' . xxxx(3) . ' hat.';

En die xxx moet dan de functienaam zijn.

echo 'Dos is wearing a ' . getKey(3) . ' hat.';

Dit vind ik een te technische benadering. Logischer (voor mij) zou bijvoorbeeld zoiets zijn:

echo 'Dos is wearing a ' . getDescription(3) . ' hat.';

Alleen description is ook weer niet helemaal juist. Want de kleur "green" is niet echt een beschrijving. Maar wat is het dan wel? Een key of ID vind ik ook niet geschikt. En een afkorting is het ook niet. Het is een woordje dat staat voor een bepaalde value, maar hoe noem je zo'n woordje?
Of je drukt het niet goed uit, of je bent fout bezig.
Als jij een constante hebt, wat voor zin heeft het dan om de naam daarvan te achterhalen?
Die weet je immers al want daarvoor is het een constante.
Haha, ja dat klopt. Een voorbeeldje...
Stel ik sla jou als persoon op in mijn database. Dan zeg ik Ger is een man (1) en heeft bruin (5) haar. Ik verzin maar even wat.

In de database staat dan bij Ger, gender:1 en hair_color:5
Nu wil ik bijv. een keer een overzicht van mijn users tonen. Dan is het handig als ik aan de hand van die 1 en 5 de benamingen weer kan oproepen, zodat ik zie dat Ger een man met bruin haar is. Daar wil ik dan bijv. die functie voor gebruiken.
Ozzie misschien moet je geen voorbeeld geven maar de ECHTE scenario even voorleggen. Als het uiteindelijk allemaal met kleine tenen en grote tenen te maken heeft heb je niks aan getName. Overigens zou ik gewoon doen getKey() en de parameter wat je meegeeft zal dan de waarde hebben die jij nodig acht dus in bijv.

getKey('green')
getGender($gender_from_database) of Gender::from($gender_from_database)
getHairColour($hair_colour_from_database) of HairColour::from($hair_colour_from_database)

Hoe jij het beschrijft is veel te magisch als je het mij vraagt.
@Reshad.. het is precies andersom. Stel ik wil de kleur invoeren, dan zou ik zoiets doen:

<?php
$user = 'Reshad';
$user->setFavoriteColor(color::green); // hier wordt een constante gebruikt
?>
Nu haal ik jouw gegevens uit de database en dan staat er bij favorite_color bijv. een 5. En dan wil ik die 5 weer kunnen terugbrengen naar 'green'.

Bijv. echo 'Reshad\'s favorite color is ' . getKey(5);

@Dos:

Ik snap wat je bedoelt, maar ik wil een functie waarmee je de betekenis dus weer teruggeeft aan een value. Je zult ergens die vertaalslag weer moeten maken.

Ik had gedacht dat er misschien een standaard-woord voor was, maar blijkbaar dus niet. Ik ga nog even verder over denken... thanks.

Reageren