dit probleem zou ik kunnen oplossen met een return statement te maken van de echo in MaakLink
maar dan moetek in de tabel MaakLink gebruiken, en niet in de tabel echo MaakLink
nu is het niet de bedoeling dat naargelang in welk stukje html ik dat moet doen
het was net de bedoeling dat ik met MaakLink gewoon altijd direct een link kon maken
Ik denk dat het heel erg belangrijk is om functionaliteiten gescheiden te houden.
Returns geven iets terug in de vorm van een resultaat. Echo print iets naar je scherm (vergelijkbaar met System.out.print() in Java als je dat iets zegt).
Vandaar dat je methode maakLink (en ik zou ook ineens aanraden om methodenamen met een kleine letter te doen beginnen). Enkel bedoeld is om de tekst te maken, en niet weer te geven. Dus, return statement.
Daarna kan je die weergeven in je HTML met een echo. Er is trouwens een heel handige short tag daarvoor. <?= $var; ?> is net hetzelfde als <?php echo $var; ?>
Als je dan je PHP een beetje gebruikt als templating language, werkt dat wel prettig.
niet iedere server ondersteunt de shorttags, dus ik gebruik die liever niet .. kleine letters klopt inderdaad, foutje van mij, maar dat lost mijn probleem niet op
de bedoeling van die functie was dat ik door ze op te roepen automatisch een link op die plaats kreeg, nu is er dus het probleem dat als ik die functie meegeef binnen een andere functie dit niet gaat lukken, en als ik er een return van maak ik altijd moet echo'en, want dus niet de bedoeling was
de specifieke bedoeling van de functie:
aanroepen zonder andere statements -> op die plaats in de code komt er een link
aanroepen binnen een andere functie -> ook binnen die andere functie op de juiste plaats een link
dat is niet de bedoeling zoals je mss al gelezen hebt
wat ik wil is onafhankelijk van waar in je code je dit gebruikt je automatisch een link op die plaats krijgt
ik wil dus niet afhankelijk zijn van waar in de code, terwijl dat bij dat van jou wel is
dat idee had ik trouwens zelf ook al gevonden (zie mijn originele vraag)
want nu bennek afhankelijk van waar ik het gebruik --> in een andere functie kan ik het gewoon gebruiken, als ik deze gewoon oproep moet ik steeds echo gebruiken, als ik dan functies in functies in functies wil gebruiken moet ik misschien echo gebruiken, mss niet, en dan weer genest levert dat iets anders op e.d. dus ik zoek daar een oplossing voor
totempaaltje dat is nu net hetgeen ik als tussenoplossing bedacht heb
tog bedankt voor het idee
zo lijkt het mij wel te doen, ik vraag me alleen af of dit niet anders kon, vandaar
echo in een functie is not done! Oftewel voert je functie code uit zonder iets terug te geven (dat is dan een procedure) of je voert code uit in je functie en geeft dan een waarde terug. Zo kom je nooit in de problemen met jou probleem.