Re: Easy Template class?

From: Date: Mon, 13 Nov 2000 04:36:01 +0000
Subject: Re: Easy Template class?
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-24912@lists.php.net to get a copy of this message
<!-- ever heard of comments --> ??? Or how about nice fast functions that display the content - so you have a cool function that returns the results of say "company news" like this: function get_results($sql){ if(strlen($sql)){ $r = mysql_query($sql); if(@mysql_num_rows($r)){ while($row = mysql_fetch_array($r)){ $ret[] = $row; } }else{ $ret = 0; } }else{ $ret = 0; } return $ret; } Then have a function that formats all of your content: function show_news(){ $results = get_results('SELECT * FROM news'); while(list($key,$val) = each($results)){ echo '<LI>'.$val['title']; } } That way you have a nice fast function that only consists of on line of code - if your designers can understand {news} then they sure as heck should be able to grasp <? show_news(); ?> Just my $0.02 --Joe On Mon, Nov 13, 2000 at 02:28:36AM -0300, Roy Nasser wrote: > Joe, > > This is the first time i program with Templates (as you might have > noticed)... And i have decided to do this because we are now working with a > company that is desigining our site... The designers do not work directly > with us programmers, so it is best to just have the design come in in > "Templates" than just cutting and pasting thousands of lines of HTML, into > thousands of lines of PHP... > > It does start to make sense.... > > I am also using a class called GENERALIZED_CACHED_TEMPLATE, and this allows > me to interface with many templkate styles, and also allows me to Cache ANY > output... > > Basically, i create ONE copy of a page (That can take upto 2 - 5secs - > depending on MySQL queries, for example), and then server subsequent > requests to that page from a disk copy, and the 2 - 5 secs, takes about > 0.05secs on a RAID5 SCSI! or about 0.09 on my home ATA IDE...! > > This, combined with the ease of talking to "dumb*" designers is reason > enough to convince me! > > > > ------------------------ > dumb: refers to people who are not "PHP Compliant" :) > > > > -----Original Message----- > > From: Joe Stump [mailto:joe@earth.care2.com] > > Sent: Monday, November 13, 2000 2:21 AM > > To: Lawrence.Sheed@dfait-maeci.gc.ca > > Cc: roy@vem.ca; php-general@lists.php.net > > Subject: Re: [PHP] Easy Template class? > > > > > > Can I ask why you guys add another layer of fat to your > > programming? Stuff > > like this has never made much sense to me... > > > > --Joe > > > > On Sun, Nov 12, 2000 at 10:21:46PM -0500, > > Lawrence.Sheed@dfait-maeci.gc.ca wrote: > > > I generally build a string in row/table stuff, and blat > > that out into my > > > placeholder. > > > > > > So instead of > > > > > > <!-- BEGIN myrows --> > > > <b>{rowelement}</b><br> > > > <b>{rowelement1}</b><br> > > > <b>{rowelement2}</b><br> > > > <!-- END myrows --> > > > > > > I do: > > > > > > <!-- BEGIN myrows --> > > > <b>{rowelement}</b><br> > > > <!-- END myrows --> > > > > > > $sqlstring = "SELECT * FROM users"; > > > $result=@mysql_query($sqlstring,$db); > > > if ($row = mysql_fetch_array($result)) { > > > do { > > > $string = $string . "<td>".$row ["username"] . > > "</td></tr>"; > > > } while($row = mysql_fetch_array($result)); > > > } > > > > > > ParseFile ($content, "{rowelement}", $string); > > > > > > -----Original Message----- > > > From: Roy Nasser [mailto:roy@vem.ca] > > > Sent: November 13, 2000 12:17 PM > > > To: 'Lawrence.Sheed@dfait-maeci.gc.ca'; php-general@lists.php.net > > > Subject: RE: [PHP] Easy Template class? > > > > > > > > > But this wont be able to get me "row" support, would it? > > > > > > Like: > > > > > > <!-- BEGIN myrows --> > > > <b>{rowelement}</b><br> > > > <!-- END myrows --> > > > > > > and then when called something like: > > > > > > > > > $t->SetVarRow("MyTemplateA","myrows","rowelement",$RowElem); > > > > > > in a for, or somethng,... > > > > > > > -----Original Message----- > > > > From: Lawrence.Sheed@dfait-maeci.gc.ca > > > > [mailto:Lawrence.Sheed@dfait-maeci.gc.ca] > > > > Sent: Monday, November 13, 2000 1:06 AM > > > > To: roy@vem.ca; php-general@lists.php.net > > > > Subject: RE: [PHP] Easy Template class? > > > > > > > > > > > > I do something along the lines of the code below. > > > > > > > > template_class.php > > > > <?php > > > > > > > > function LoadFile ($filename){ > > > > if (file_exists($filename)) { > > > > $fd = fopen( $filename, "r" ); > > > > $contents = fread( $fd, filesize( $filename ) ); > > > > //fclose( $fd ); > > > > } > > > > else { > > > > $contents = "<br><font color=red>Unable to > > > > open:$filename</font></br>"; > > > > } > > > > return ($contents); > > > > } > > > > > > > > function ParseFile (&$contents,$item,$newvalue) { > > > > $contents = ereg_replace ($item,$newvalue,$contents); > > > > } > > > > ?> > > > > > > > > Example parser > > > > > > > > <?php > > > > include "template_class.php"; > > > > $contents = LoadFile ("example.html"); > > > > > > > > ParseFile ($contents, "{TITLE}", "my brand new title here"); > > > > > > > > print ($contents); > > > > > > > > ?> > > > > > > > > > > > > example.html > > > > <html> > > > > <title> > > > > {TITLE} > > > > </title> > > > > stuff here... > > > > {MENU} > > > > </html> > > > > > > > > > > > > To embed one file within another, you can do: > > > > > > > > > > > > example2.html > > > > <menu stuff here> > > > > ... > > > > </menu stuff> > > > > > > > > > > > > 2nd_example.php > > > > <?php > > > > include "template_class.php"; > > > > $contents = LoadFile ("example.html"); > > > > $menu = LoadFile ("example2.html"); > > > > > > > > ParseFile ($contents, "{TITLE}", "my brand new title here"); > > > > ParseFile ($contents, "{MENU}",$menu); > > > > > > > > print ($contents); > > > > > > > > ?> > > > > > > > > Simple hey! > > > > > > > > Cheers, > > > > > > > > Lawrence. > > > > -----Original Message----- > > > > From: Roy Nasser [mailto:roy@vem.ca] > > > > Sent: November 13, 2000 11:12 AM > > > > To: Php (E-mail) > > > > Subject: RE: [PHP] Easy Template class? > > > > > > > > > > > > I think i moaned a little bit too much in my last e-mail but > > > > didnt provide > > > > any suggestions for what i wanted... Here goes: > > > > > > > > I think that Instead of having a set_var with jsut the name > > > > of the template > > > > variable and the value, it should be something like: > > > > > > > > Set_Var("SomeVariable",$SomeValue,"MyTemplateA"); > > > > > > > > Set_Var("SomeDifferentVariable",$SomeOtherValue,"MyTemplateB"); > > > > > > > > And then something like: > > > > > > > > > > > > Embed_Template("Menu","MyTemplateA","MyTemplateB"); > > > > > > > > What this would do is: > > > > > > > > #1: {SomeVariable} in MyTemplateA would become $SomeValue > > > > #2: {SomeDifferentVariable} in MyTemplateB would become > > > > $SomeOtherValue > > > > #3: {Menu} in MyTemplateA would become MyTemplateB with > > > > everything that has > > > > been done to it (Such as the {SomeVariable}) > > > > > > > > Thanks again.... > > > > > > > > > > > > > > > > Roy Nasser > > > > CTO > > > > Vem Cá Servicos de Internet S/C Ltda. > > > > Av. Paulista 2421 14* Andar > > > > São Paulo SP Brasil > > > > 55 11 3347 3456 / 9953 8853 - cel > > > > www.jarbas.com.br > > > > roy@vem.ca > > > > > > > > > > > > > > > > > > > > -- > > > > PHP General Mailing List (http://www.php.net/) > > > > To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net > > > > For additional commands, e-mail: php-general-help@lists.php.net > > > > To contact the list administrators, e-mail: > > > > php-list-admin@lists.php.net > > > > > > > > > > -- > > > PHP General Mailing List (http://www.php.net/) > > > To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net > > > For additional commands, e-mail: php-general-help@lists.php.net > > > To contact the list administrators, e-mail: > > php-list-admin@lists.php.net > > ============================================================== > > ================== > > = Joe Stump joestump98@yahoo.com > > http://www.miester.org = > > ============================================================== > > ================== > > "Real programmers don't comment their code. > > It was hard to write, it should be hard to understand." > > ================================================================================ = Joe Stump joestump98@yahoo.com http://www.miester.org = ================================================================================ "Real programmers don't comment their code. It was hard to write, it should be hard to understand."

« previous php.general (#24912) next »