Women in Technology

Hear us Roar



Article:
  PHP and Heredocs
Subject:   Why not use php-style instead of perlish (2)?
Date:   2003-04-12 11:34:46
From:   javajoint
Response to: Why not use php-style instead of perlish (2)?


Hi, I am Daniel Smith, the author:


I use heredocs SPECIFICALLY so that I do not have to write things such as:


$sql="
SELECT *
FROM $table
WHERE field='1' ";


Which introduces a new level of quoting.


As far as reading complete templates into a variable, so that the template is free of PHP assignment statements.. Yes, that is true. It's a little more work, in a sense, if there is a middle section of the template that gets repeated.. it has to be broken out (via HTML comments or otherwise) so that it gets assigned to a different variable (or element in an associative array)


In other words, if you have a template of head, middle, and tail sections, you can break them up into seperate heredocs, or you can read a straight HTML file in and muddle through it, breaking up the sections afterward. Think of the middle section as any variable number of results (a table, a collection of photos, etc.)


You may want to take a look at my example demo file.
It is at: http://www.onlamp.com/php/2003/04/10/examples/hd-demo-1.0.tgz


as an aside: I did not get into caching in my article, but it is something I am working on for my project. I don't want to simply read in templates for every invocation if I don't need to.


The reason I approached things this way in the first place was because I wanted to keep my package as self-contained as possible (fewer dependencies for future admins to deal with), but I also wanted to handle different languages and interfaces.


Daniel Smith

Full Threads Oldest First

Showing messages 1 through 2 of 2.

  • Why not use php-style instead of perlish (2)?
    2003-04-15 03:32:34  anonymous2 [View]

    HEREDOC strings are very convenient to spit out HTML, or any lengthy string blocks and it's not Perlish (!) it's derived from UNIX shell's here-document syntax!! I use both Perl and PHP for my web projects and it is pointless to say that PHP is better than Perl (both languages are fun to program with, and PHP really needs to level up with Perl regarding OOP).

    Please drop by "http://theperlreview.com/" and read Ed Summer's article "Paying Homage to Perl (PHP) " in V.0-I.7
    • Why not use php-style instead of perlish (2)?
      2003-04-15 09:48:25  Daniel Smith | [View]


      Yes, I completely agree. I think you meant to reply to a different message in the thread, but I know what you mean.

      My first exposure to heredocs was in the early 1980's, writing csh scripts. It's one thing missing in C/C++ that I really would have enjoyed having from time to time. Come to think of it, it would have been nice in Java, Javascript, and Tcl too.

      A few languages supporting heredocs:
      sh/bash/ksh
      csh/tcsh
      perl
      php
      python

      One of many things I like about heredocs is that using them is much less cluttered than a series of print/echo statements. It allows me to better concentrate on the content within the heredoc, such as an email message, a help blurb, or anything else that tends to be multiline.

      > Please drop by "http://theperlreview.com/" and read Ed Summer's article "Paying Homage to Perl (PHP) " in V.0-I.7

      Interestingly, that PDF file contains an article "Separating Code, Presentation, and Configuration -- brian d foy" which makes use of heredocs in Perl :-)

      Daniel Smith