
HTML PHP-sse: echo, heredoc, nowdoc ja PHP-st väljumine
Kleebi valmis märgistus — saad viis varianti, kuidas see PHP-faili panna, igaüks õige paojadaga. Kõik toimub sinu brauseris: märgistust ei saadeta kuhugi ega salvestata kusagil.
.html — fail loetakse lokaalselt.
Kõige lähemal sellele, mida annab codebeautify, kuid paojadaga: ilma selleta lõhub iga ülakoma märgistuses PHP stringi.
Kleebi HTML ülal — PHP kood ilmub siia.
Kleebi HTML ülal — PHP kood ilmub siia.
Kleebi HTML ülal — PHP kood ilmub siia.
Kleebi HTML ülal — PHP kood ilmub siia.
Kleebi HTML ülal — PHP kood ilmub siia.
Märgistus ei lahku sinu brauserist — teisendus toimub lokaalselt, midagi serverisse ei saadeta.
Viis viisi ja millal milline sobib
echo rea kaupa — rida rea järel, igaüks eraldi väljakutsega. Kõige tuttavlikum välimus, mugav siis, kui ridade vahele tuleb panna tingimus või tsükkel. nowdoc — plokk, milles PHP ei tõlgenda midagi: ei paojadasid ega muutujaid. Märgistus läheb koodi bait-baidilt ja paojada pole üldse vaja. See on kõige turvalisem viis võõra HTML-i ülekandmiseks. heredoc — sama plokk, kuid muutujatega: $title selle sees asendatakse. Seepärast saavad dollar ja kurakaldkriips paojada, jutumärgid aga mitte. String muutujas — märgistus kogutakse konkateneerimisega $html-i. Vaja siis, kui see tuleb funktsioonist tagastada või mallimootorile anda, mitte kohe välja trükkida. PHP-st väljumine — sulge silt ja anna märgistus sellisena, nagu on. Just seda soovitab PHP dokumentatsioon: mitte mingit paojada, mitte mingit stringide kokkukleepimise kulu ja redaktoris jääb süntaksi esiletõst töökorda. Sulgev silt ?> puudub genereeritud koodis meelega. Iga märk pärast seda — isegi juhuslik reavahetus faili lõpus — satub väljundisse ja annab klassikalise «headers already sent».
Miks paojadata konverterid annavad töövõimetu koodi
Kõige levinum HTML-ist PHP-sse konverter teeb täpselt üht: lõikab teksti ridadeks ja kleebib kokku echo '<rida>';. Mingit märkide asendust seal pole ja see paistab välja juba esimese päris märgistuse tüki peal. Atribuut ühekordsetes jutumärkides — <a href='/price'> — sulgeb PHP stringi keset teksti. Edasi tuleb süntaksiviga. Kurakaldkriips rea lõpus sööb ära sulgeva jutumärgi ja kleebib kaks rida üheks. Dollarimärk kahekordsetes jutumärkides või heredocis muudab $total tühjaks väärtuseks. trim() igal real lõikab vaikselt maha taande pre, textarea ja code sees — lehel muutub see, mida külastaja näeb. Kõik read kleebitakse ilma reavahetusteta, seega saab tulemuseks olevast HTML-ist üks lõputu rida. Siin on iga selline juht lahendatud ja heredoci silt valitakse nii, et see ei langeks kokku ühegi sinu märgistuse reaga: muidu sulguks plokk keskelt.
