Waarom moeten vars van jullie allemaal op deze site eigenlijk buiten de quotes als het zowel op php.net als in de Zend coding standard staat dat het wel kan?
Het kan ook zeker, dat wordt nergens ontkend. Maar er zijn een aantal redenen waarom je variabelen beter buiten quotes kunt plaatsen. Zie dit artikel: http://wiki.phptuts.nl/Variabelen_buiten_quotes
Ik vind de argumenten daar een beetje tegenvallen. Ze zeggen dat array's niet werken en dat je geen accolades moet gebruiken omdat je dan dubbele accolades wilt gebruiken wanneer je in je output accolades wilt hebben (komt bij mij eerlijk gezegd niet elke dag voor).
Verder zeggen ze nog dat het niet goed met (x)(ht)ml samengaat, daar zit natuurlijk wel wat in, maar als dat niet het geval is...
En de Zend Coding Standard gaat niet over wat wel/niet kan, maar juist wat netjes is. Het wordt toch juist vaak aangehaald als referentie voor php-formattering? En het zou toch raar zijn als deze mensen iets wat niet net is in hun referentie zetten?
@Pim er bestaat bijna geen programmeer- of scripttaal waarin je zomaar midden in een string een variabele van een onbekende data type kunt zetten.... het is gewoon niet netjes.
Het performanceverschil hoef je het niet (meer) voor te laten: constructies als "hallo, $dit $is $een $variabele" hebben ze bij Zend nu bijzonder goed geoptimaliseerd.
En nee, ik gebruik het zelf niet. Waarom? Eigenlijk geen idee, er is niks wat me tegenhoudt gezien alle editors die ik gebruik de variabelen binnen de string ook gewoon highlighten zoals het hoort.
Een groot nadeel is eigenlijk dat binnen enkele quotes al deze constructies sowieso niet werken. Dit is relatief inconsistent gedrag en dat kan flink wat verwarring met zich meebrengen. Maar dit is natuurlijk in feite verwaarloosbaar.
Maar je kunt je natuurlijk afvragen: als je meerdere variabelen binnen een string moet zetten, heb je dat dan logisch aangepakt?