Metódus html tartalma változóba heredoc-kal
Sziasztok!
A következő problémához szeretném a segítségeteket kérni.
Adott egy osztály, benne egy metódus. (Ez tulajdonképpen lehetne egy egyszerű függvény is.) Ebben a metódusban benne van a weboldalam html tartalmának egy része, melyet megelőz egy kis feldolgozás/számolgatás.A printContent() metódus semmi meglepőt nem tartalmaz, szépen le is fut, amikor meghívom. Na most egy olyat szeretnék elérni, hogy a printContent() metódus "tartalmát" ne írjuk ki, mikor lefut, hanem tegyük bele egy változóba. Erre interneten a heredoc syntax-ot ajánlották, de nekem valamiért nem akar működni. Az alábbi kódot használom.A kód hiba nélkül lefut, de nem teszi bele a változóba, hanem mintha a heredoc ott se volna, kiírja a metódus tartalmát. Valószínűleg a megoldás pofonegyszerű, csak én még nem találtam meg.
Segítségeteket előre is köszönöm.
Bence
■ A következő problémához szeretném a segítségeteket kérni.
Adott egy osztály, benne egy metódus. (Ez tulajdonképpen lehetne egy egyszerű függvény is.) Ebben a metódusban benne van a weboldalam html tartalmának egy része, melyet megelőz egy kis feldolgozás/számolgatás.
class MyPage {
public function printContent(){
/*
egy kis feldolgozás/számolgatás
*/
?>
<div>
itt van a html tartalom benne az előbb feldolgozott dinamikus tartalommal
...
</div>
<?php
}
}
$mypage = new MyPage();
$page = <<<PAG
{$mypage->printContent()}
PAG;
Segítségeteket előre is köszönöm.
Bence
Istenem de utálom ezt a retek
Elvileg így kell:
szerk:
Na benéztem, a fenti arra jó, hogy ne kelljen minden használt függvény nevét változóba tenni. Tök másra megoldás. Amit akarsz, azt az osztályod módosítása nélkül max így tudnád megcsinálni:
Output buffering
ob_*()
- output buffering - függvényeket, különös tekintettel azob_start()
ésob_get_clean()
függvényekre.Például:
De szerintem jobban jársz, ha kiszervezed a html sablonjaidat külön fájlokba, amik jó esetben nem számolgatnak, csak előre meghatározott paramétereket tesznek bele a kimenetbe. Ennek a megsegítésére láttam talán még janoszen valamelyik blogján ezt a kis hasznos függvényt (vagy legalábbis ehhez hasonlót):
$tplFile
php fájlodban változókként lesznek elérhetőek a$parameters
asszociatív tömb kulcsai a vonatkozó értékekkel.Köszönöm a segítséget!
Köszönöm a gyors segítséget!