|
Posted by Vicente Werner on 07/29/05 21:08
I take a completely different approach. My applications work mostly
like real gui applications, so each page the user sees is composed by
a group of components and small templates rendered ina hierarchical
way. Each template includes all the presentation logic for it, so the
only effort from the php side is to pass all the data the template may
need. Also I isolate myself as much as possible from the environment,
so I get the data always trough functions or specially prepared arrays
already filtered and secured.
On 7/29/05, Jonathan Villa <jvilla@innovativesource.net> wrote:
>
> Personally, I have 2 files for every viewable file... the .php file which contains
> all of my logic for that action/page and the template (.tpl) which renders my page.
> the .php page does the neccessary $smarty->assign() or $smarty->register_object,
> etc...
>
> I like this method because my pages don't get consumed with code/logic... the
> code/logic on the page is specific for the action... and the .tpl only renders...
>
>
>
>
>
>
> -Jonathan
>
> <quote who="Evan Wagner">
> > I've been using Smarty for a couple years now. Recently I've
> > questioned my method of separating Logic and Presentation and have
> > come up with two ways to solve it.
> >
> > Current Setup:
> >
> > 1 Parser file: index.php (Calls upon functions to run for pages via
> > _GET variables)
> >
> > 1 Functions file: This file contains all functions used in the application
> >
> > 1 template file: index.tpl in the templates directory. This template
> > file contains logic within itself such as {if $smarty.get.action
> > =="page"} Do Page {/if}
> >
> > This current situation doesn't seem pragmatic to me.
> >
> > ALTERNATIVES:
> >
> > Alternative 1:
> >
> > 1 Parser file: index.php for example to handle the different _GET
> > variables and tell smarty to parse a different template file for each
> > _GET page.
> >
> > 1 Functions File: Contains all functions used in application
> >
> > Numerous Template Files: The parser file will call upon
> > templates/page.tpl as defined in the parser file and for consistency
> > of layout I would use {include header.tpl} and {include footer.tpl} in
> > each page. This reduces the amount of logic in the template file and
> > reduces size of template file.
> >
> > Alternative 2:
> >
> > 1 Parser file: index.php will handle all the _GET page logic to call
> > upon correct functions via the different _GET variables.
> >
> > 1 Function file: Contains all functions of application
> >
> > 1 Primary layout template that will have logic in if such as this:
> > {if $smarty.get.action =="page"} {include page.tpl} {/if}
> > This still includes logic but reduces the complexity of the template
> > by minimizing visible code.
> >
> >
> > OVERVIEW:
> >
> > I theory I think Alternative1 is better than Alternative2 because it
> > reduces the logic within the template. Basically keeps your template
> > from doing as much logic as it's better to separate your logic and
> > presentation.
> >
> > What do you guys think?
> >
> > --
> > Smarty General Mailing List (http://smarty.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
>
> --
> Smarty General Mailing List (http://smarty.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
--
Vicente Werner y Sánchez
Lead Developer at Dinahosting S.L.
Navigation:
[Reply to this message]
|