Lezen van alle variablen in een string/array
Er is toen een oplossing gegeven.
Het gaat om het lezen van variablen die in een array moeten zijn.
function readIt($data){
}
// Correct
$test = readIt(array('a', 'b', 'c'));
// Probleem
$test = readIt('a', 'b', 'c');
Hoe kan ik het probleem omzetten in een array?
dit onderwerp.
Graag verwijs ik je naar Zoiets?
Dank u Rob !!
Wat je nu doet is invoerfouten herstellen. Beter kun je gewoon een foutmelding genereren als het fout gaat. Een programmeur denkt nu ... ooooh, ik mag gewoon maar wat invullen. Het maakt niet uit wat ik doe. Je wil toch juist dat ie de correcte informatie aanlevert als array? Dan moet je niet vervolgens ook losse variabelen gaan accepteren. Dan wordt het allemaal erg verwarrend.
Terzijde: zelf ben ik ook van de "gewoon correct aanleveren" school ("annotations" in docblocks, ook zo'n gruwel).
Precies ... als je een verkeerde parameter invoert, dan loopt het zaakje gewoon stuk en krijg je een foutmelding. Ik heb ook een tijd gekend waarin ik bezig was om alle mogelijke fouten die zich eventueel heel misschien wellicht zouden voordoen af te vangen via allerlei if/else-constructies gekoppeld aan de meest prachtige foutmeldingen. Het nadeel is echter dat alles langer duurt om te programmeren en dat je code minder overzichtelijk en logger wordt. Uiteindelijk ben ik daar dan ook mee opgehouden.
overloading.
Soms is het handig dat je een willekeurig aantal argumenten kunt accepteren. Bijvoorbeeld als je PHP CLI / shellscripts schrijft.
Het lijkt mij makkelijker om een whitelist van geaccepteerde invoer op te stellen in plaats van een blacklist van invoer die ongeldig is. Op die manier kun je namelijk inderdaad bezig blijven.
It is hard to make anything idiot proof because idiots tend to be ingenious.
Ook is dit funest als dit zaken omtrent security regelt - vergeet je een geval is de veiligheid misschien om zeep.
Je hoeft ook niet eindeloos een gebruiker aan de hand te houden. Is de invoer fout, laat dan gewoon code op zijn bek gaan, niets mis mee. Of althans, dat is een keuze - ofwel je bent heel strict met deze invoer (ziet er iets tussen dat je niet kent: einde oefening) of je negeert deze gewoon.
@Ozzie, een aantal kanttekeningen; er bestaat zoiets als Soms is het handig dat je een willekeurig aantal argumenten kunt accepteren. Bijvoorbeeld als je PHP CLI / shellscripts schrijft.
Ozzie PHP op 27/01/2019 22:33:25:
Ik heb ook een tijd gekend waarin ik bezig was om alle mogelijke fouten die zich eventueel heel misschien wellicht zouden voordoen af te vangen via allerlei if/else-constructies gekoppeld aan de meest prachtige foutmeldingen.
Het lijkt mij makkelijker om een whitelist van geaccepteerde invoer op te stellen in plaats van een blacklist van invoer die ongeldig is. Op die manier kun je namelijk inderdaad bezig blijven.
It is hard to make anything idiot proof because idiots tend to be ingenious.
Ook is dit funest als dit zaken omtrent security regelt - vergeet je een geval is de veiligheid misschien om zeep.
Je hoeft ook niet eindeloos een gebruiker aan de hand te houden. Is de invoer fout, laat dan gewoon code op zijn bek gaan, niets mis mee. Of althans, dat is een keuze - ofwel je bent heel strict met deze invoer (ziet er iets tussen dat je niet kent: einde oefening) of je negeert deze gewoon.
Gewijzigd op 27/01/2019 22:56:41 door Thomas van den Heuvel
Je kunt inderdaad niet alles afvangen.
Wat je bijv. wel eens ziet, zijn dit soort zaken:
Code (php)
Hartstikke mooi natuurlijk zo'n uitgebreide controle. Maar als die betreffende file gewoon een vast onderdeel is van je structuur/framework, dan is het natuurlijk ook keiharde onzin om zo'n controle uit te voeren. En als je dan per pagina-aanroep 50 van dit soort controles gaat doen, dan ben je volgens mij niet echt zinvol bezig. En toch zie je dit regelmatig gebeuren.
Gewijzigd op 27/01/2019 23:06:08 door Ozzie PHP