Iets wat ik mij al een tijdje afvraag 
Waarom wordt er in PHP altijd gereturnd dmv. van arrays (die strings als keys kunnen hebben, dus een soort stl map<string, string> uit C++ - maar dan ook op willekeurige plaatsen een map in een map), en niet dmv. van 'structs', zoals het volgens mij eigenlijk hoort?
Een voorbeeldje:
Stel je hebt een persoon met volgende gegevens: naam, voornaam, adres, en lijst van favoriet eten.
In C++/Java zou je toch een struct/class aanmaken:
Thanks
Waarom wordt er in PHP altijd gereturnd dmv. van arrays (die strings als keys kunnen hebben, dus een soort stl map<string, string> uit C++ - maar dan ook op willekeurige plaatsen een map in een map), en niet dmv. van 'structs', zoals het volgens mij eigenlijk hoort?
Een voorbeeldje:
Stel je hebt een persoon met volgende gegevens: naam, voornaam, adres, en lijst van favoriet eten.
In C++/Java zou je toch een struct/class aanmaken:
code:
En dus ook een functie die zo'n object returnt:1
2
3
4
5
6
| class Persoon { std::string m_voorNaam; std::string m_achterNaam; std::vector<string> m_favorietEten; } |
code:
Waarom doet bijna niemand dat in PHP (ik heb al aardig wat bestaande scripts bekeken, nog nooit tegengekomen). Daar returnt men gewoon een array, met volgende structuur:1
| Persoon getPersoon(int persoonId); |
code:
Is dat puur omv. snelheidsoverwegingen (primitieve types sneller dan zelf-gedefinieerde objecten), of zijn er andere redenen voor?1
2
3
4
5
6
7
8
9
10
| array ( ['voorNaam'] = "DiEana" ['achterNaam'] = "anaEiD" ['favorietEten'] = array ( [0] = "Lasagna" [1] = "Fritteeeeeeeeeeuh" ) ) |
Thanks