Fwd: About PHP CMS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



fogot to copy the list on this as well; my bad :(

---------- Forwarded message ----------
From: Nathan Nobbe <quickshiftin@xxxxxxxxx>
Date: Jul 7, 2007 3:00 PM
Subject: Re:  About PHP CMS
To: Kelvin Park <kelvinpark86@xxxxxxxxx>

On 7/7/07, Kelvin Park <kelvinpark86@xxxxxxxxx> wrote:
Looks like its quite a few steps to generate XHTML tags, from
PHP->XML->XSLT->XHTML, wouldn't it be more cumbersome to build a big website
(ex. commercial website)? Compare to just PHP->XHTML?

life is full of tradeoffs.  my understanding is there is a  tradeoff between
simplicity / complexity and performance / mantainability.  so if youre
trying to build something small that runs fast you can use the standard PHP
facility, ie
<?php
$myName = 'nathan';
?>
<html>
<head>
<title>
this is my page
</title>
<body>
my name is <?=$myName?>

there are other approaches as well; i personally prefer building the html as
a string, so the previous example would become
<?php
$htmlOut = '$myName = 'nathan';
<html>
<head>
<title>
this is my page
</title>
<body>
my name is ' . $myName;
echo $htmlOut;
?>
some people even build templating systems around these core PHP facilities.

but when building a large site templating systems facilitate the separation
between PHP and XHTML youre looking for.  i havent used Smarty, though ive
looked at it.
one of the big issues it presents is it is basically its own little
language, because logic can be embedded within a template.  so for instance,
if you want to build an HTML table and you have several rows worth of
content in an array, lets say, you could loop over the array within the
template producing the rows during said iteration.  so there is this issue
where a mistake could be made in the logic thats embedded in a Smarty
template, which begs the awesome question, how do you debug a Smarty
template?
so, truth be told, logic can be embedded in an xsl file as well.  really you
just need to create a set of conventions that dictate how much logic, if
any, will be allowed in template files.  that must be enforced for all
development on your site; the same could be done for a site built using
Smarty.  and also, i suppose there is an issue w/ broken logic in XSL
templates as well.  but the main reason i prefer XSL is because its a W3C
standard whereas Smarty is not.  also, XSL can be used w/ any language, not
just PHP so i feel i am more valuable knowomg i might be able to use XSL w/
other languages on other projects like java or .net or w/e.

i will send a sample when i get home, im at the office right now.

-nathan

On 7/7/07, Kelvin Park < kelvinpark86@xxxxxxxxx> wrote:

Looks like its quite a few steps to generate XHTML tags, from
PHP->XML->XSLT->XHTML, wouldn't it be more cumbersome to build a big website
(ex. commercial website)? Compare to just PHP->XHTML?

Yes, I would like to receive a sample of SimpleXML/DOM/XML.

Thanks!

On 7/7/07, Nathan Nobbe < quickshiftin@xxxxxxxxx> wrote:
>
> > On 7/7/07, Kelvin Park <kelvinpark86@xxxxxxxxx > wrote:
> > Can XSLT be used to separate CSS/XHTML/PHP/AJAX completely?
> yes
>
> XSLT is used to map one set of XML to another set of XML, thats what the
> transform is all about.
> ive only been working with it for a while so im not that good yet, but
> what i do is build up XML data in
> PHP; that XML maps to points in an xsl file.  then i use the PHP XSLT
> functions <http://www.php.net/manual/en/ref.xslt.php> to render XHTML
>  by combining the XML data and the xsl file.  the XHTML is what gets
> sent to the browser via echo.
> you can use tools in PHP like SimpleXML and DOM to build up an XML
> document.  i can send you a sample
> if youd like.
>
> also, if you want to separate javascript from PHP and XHTML thats really
> a different issue.  in order to do that
> you need to link in javascript externally via the <script> tag instead
> of using inline scripts.  you may want to
> look at some frameworks like prototype <http://www.prototypejs.org/>,
> scriptaculous <http://script.aculo.us/> and jquery <http://jquery.com/>.
> but that is another universe altogether.
>
> -nathan
>
>
> On 7/7/07, Kelvin Park < kelvinpark86@xxxxxxxxx> wrote:
> >
> > Can XSLT be used to separate CSS/XHTML/PHP/AJAX completely?
> > Do you use XSLT with XHTML on a same file?
> > It seems like XSLT is derived from XML.
> >
> > On 7/7/07, Nathan Nobbe <quickshiftin@xxxxxxxxx> wrote:
> > >
> > > to keep html separate from php you can also look at XSLT.
> > > ive heard good and bad things about smarty.
> > >
> > > -nathan
> > >
> > > On 7/6/07, Davi < davividal@xxxxxxxxxxxxxxxx > wrote:
> > > >
> > > > Em Sexta 06 Julho 2007 21:24, Kelvin Park escreveu:
> > > > > Is it possible to have PHP code completely separate from the
> > > HTML page
> > > > that
> > > > > needs to be completely dynamic? (That's how ASP.NET sort of
> > > works I
> > > > think).
> > > > > If this is possible, HTML CODE, PHP CODE, AND THE CSS CODE can
> > > be
> > > > > completely separate, increasing the clarity of all the source
> > > code.
> > > > >
> > > >         Yes.
> > > >         Take a look at Smarty. :-)
> > > >
> > > > http://smarty.php.net
> > > >
> > > > > My second question is:
> > > > > Is it more efficient to always code OOP PHP then just simple
> > > functions
> > > > here
> > > > > and there?
> > > >
> > > >         How big is your project?
> > > >         If you're talking about a personal visit counter, run away
> > > OOP.
> > > >         If you're talking about a really big project (And yes, CMS
> > > _is_ a
> > > > big
> > > > project), go ahead and use OOP.
> > > >
> > > >         OOP is better to mantain... :-)
> > > >
> > > >         HTH
> > > >
> > > > --
> > > > Davi Vidal
> > > > davividal@xxxxxxxxxxxxxxxx
> > > > davividal@xxxxxxxxx
> > > > --
> > > > "Religion, ideology, resources, land,
> > > > spite, love or "just because"...
> > > > No matter how pathetic the reason,
> > > > it's enough to start a war. "
> > > > --------------------------------------------------------
> > > > Por favor não faça top-posting, coloque a sua resposta abaixo
> > > desta linha.
> > > > Please don't do top-posting, put your reply below the following
> > > line.
> > > > --------------------------------------------------------
> > > >
> > > >
> > >
> >
> >
>


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux