» »

Zend Framework in Dwoo template engine

Zend Framework in Dwoo template engine

BigWhale ::

Spravljam skupaj Zend Framework, ki sam po sebi deluje ok. Zdaj bi pa rad ponucal se Dwoo template engine, ki tudi deluje tako kot treba. Stvar bi rad ponucal preko Zend_View adapterja, ki ga ima Dwoo.

V bootstrap.php sem instanciral Zend_View in nanj obesil Dwoo adapter. Pred tem sem imel povsem delujoc framework z view-om in sem kar spada zraven in index.phtml se mi je lepo sparsal in prikazal vsebino.

$view = new Zend_View();
$view->doctype('XHTML1_STRICT');

$viewInterface = new Dwoo_Adapters_ZendFramework_View(array(
      'engine' => array(
        'compileDir' => APPLICATION_PATH . '/views/compile',
        'cacheDir' => APPLICATION_PATH . '/views/cache'
       )));
$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer ($viewInterface);
$viewRenderer->setView($view);
$viewRenderer->setViewSuffix('tpl');
Zend_Controller_Action_HelperBroker::addHelper ($viewRenderer);


Potem sem v nek tisti kontroler dodal se en assign.

    public function indexAction()
    {
        $this->view->assign('bar', 'FOO');
    }


In na koncu sem naredil se index.tpl, ter notri dodal {$bar} in pricakoval, da se bo v browserju izpisal FOO.

No, ni se. Vse kar se je zgodilo je bilo to, da sem na enkran dobil {$bar}. Kot, da se Dwoo sploh ne bi zalaufal. Dokumentacija je na zalost skopa in nikjer nisem nasel nobenega delujocega primera.

Je kdo ze pocel tole? In Vrgel skupaj ZF in Dwoo?

Ice-Heki ::

Sigurno se da. Ker vem, da nekateri tako delajo. Kako na žalost ne vem (in se mi zaenkrat s tem sploh ne da ukvarjat ...). Tole pa vem, da si pogledal - Dwoo Wiki

krho ::

BW: Vse skupaj dela odlično. :).
Če preimenuješ inbdex.tpl v nekaj drugega, ti zateži, da ni našel viewa?

Mimo grede
$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer ($viewInterface);
$viewRenderer->setView($view);
$viewRenderer->setViewSuffix('tpl');

se "lepše" piše takole.
$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer ($viewInterface);
$viewRenderer->setView($view)
->setViewSuffix('tpl');

Skoraj vse funkcije vračajo objekt tako, da samo nizaš klice.

Dwoojew autoloader si naložil? Prikaz napak imaš tudi najbrž vklopljen?
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

Zgodovina sprememb…

  • spremenil: krho ()

BigWhale ::

Ice, seveda sem prebral, pa nic pametnega nisem nasel. Zal.

Krho, meni tvoja oblika ni lepsa. :> Pa se hitrejs se zmotis. To je nekak tko k if statement s samo enim pogojnim stavkom in brez oklepajev. :P

Hm, Autoloaderja nisem nalozil, sem predvideval, da bo to naresil Dwoo Adapter. Bom se to probal. Ce pobrisem .tpl dobim nazaj lep stack trace ja, in pritozbo o manjkajoci datoteki. Drugace pa nobenih napak, vse spila, samo {$bar} nikakor noce postati FOO... :)

BigWhale ::

No, sem probal se includati Dwoo autoloader, pa mi ob nalaganju javi, da class Dwoo ze obstaja. Ce ga nalozim po Dwoo_Adapters_ZendFramework_View. Ce ga pred tem, se nihce nic ne protozi ampak dela se vedno nic.

Stvar se obnasa v bistvu natanko tako kot Zend_View. Nic drugace. :(

Aja, opazil sem se, da sta cache in compiler direktorija vedno prazna.

krho ::

Krho, meni tvoja oblika ni lepsa. :> Pa se hitrejs se zmotis. To je nekak tko k if statement s samo enim pogojnim stavkom in brez oklepajev. :P
Tudi sam sem zagovarjal tvojo trditev, dokler se nisem lotil Zend_Form. :P
Kaj pa takole.
$viewInterface = new Dwoo_Adapters_ZendFramework_View(array(
      'engine' => array(
        'compileDir' => APPLICATION_PATH . '/views/compile',
        'cacheDir' => APPLICATION_PATH . '/views/cache'
       )));
$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer ($viewInterface);
$viewRenderer->setViewSuffix('tpl');
$viewRenderer->view->doctype('XHTML1_STRICT');
Zend_Controller_Action_HelperBroker::addHelper ($viewRenderer);
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

BigWhale ::

Huh! ZOMG! Ja, ce ne klices setView(), da nastavis view potem stvar v bistvu deluje {$bar} postane FOO.

HVala. :)

Zgodovina sprememb…

  • spremenil: BigWhale ()

krho ::

Se mi je zdelo, da si povozil view :P, pa sem bil včeraj preveč zaspan.
Mimo grede, kje za vraga si staknil Dwoo? Na prvi slovenski php konferenci, kjer sem prvič slišal zanj te nisem videl...
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

BigWhale ::

Dwoo, je omenil sodelavec. Do sedaj smo uporabljali Smarty. Dwoo je novejsi, hitrejsi in se bolj bleeding edge. :) Sem vpisal Dwoo v S-T search pa sem dobil ven (null)... :)) Stvar ni tako razsirjena.

ermej ::

Pa kakšen smisel ima pri teh frameworkih sploh še uporabljati template engine?? Če spišeš z ZF kot se spodobi, potem res ni potrebe po še nekem dodatnem TE. Sicer je pa tudi enen od piscev knjige o Smartyu povedal nekaj na to temo:

http://hasin.wordpress.com/2008/01/05/o...

krho ::

html/css koderju je lažje dati nek templating engine kot direkten dostop do php-ja. Beri manj štale ti laho naredi, pa še echojat in escapat mu ni treba, template engine naredi to zanj. pisanj <?php ?> tudi ni zabavno. Short tagi pa morajo biti ugasnjeni. xml anyone?
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

Zgodovina sprememb…

  • spremenil: krho ()

BigWhale ::

Pa kakšen smisel ima pri teh frameworkih sploh še uporabljati template engine?? Če spišeš z ZF kot se spodobi, potem res ni potrebe po še nekem dodatnem TE. Sicer je pa tudi enen od piscev knjige o Smartyu povedal nekaj na to temo:

http://hasin.wordpress.com/2008/01/05/o...


Hm, ZF sam po sebi nima templating engina. Imas na voljo Zend Views, ki potem uporbljajo kvazi template. Tja not pa pises PHP kodo. To potem ni template. Hehe.

Tako kot je krho rekel, nekdo, ki se ukvarja z razrezom in oblikovanjem ne bo pisal PHPja. Pri nas tak clovek PHPja niti ne obvlada najbolje. Zakaj bi ga mucil?


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

MVC vs. Angular

Oddelek: Izdelava spletišč
122468 (2058) kod
»

[Android] Bluetooth aplikacija

Oddelek: Programiranje
51018 (881) marjan_h
»

Android - Začetnik

Oddelek: Programiranje
111703 (1028) hurlimannxt
»

android črta

Oddelek: Programiranje
412273 (1544) g333kk
»

[PHP] Kako ugotoviti kaj je $this

Oddelek: Programiranje
7676 (540) alexa-lol

Več podobnih tem