Search Results

Search found 12 results on 1 pages for 'heredoc'.

Page 1/1 | 1 

  • Calling PHP functions within HEREDOC strings

    - by Doug Kavendek
    In PHP, the HEREDOC string declarations are really useful for outputting a block of html. You can have it parse in variables just by prefixing them with $, but for more complicated syntax (like $var[2][3]), you have to put your expression inside {} braces. In PHP 5, it is possible to actually make function calls within {} braces inside a HEREDOC string, but you have to go through a bit of work. The function name itself has to be stored in a variable, and you have to call it like it is a dynamically-named function. For example: $fn = 'testfunction'; function testfunction() { return 'ok'; } $string = <<< heredoc plain text and now a function: {$fn()} heredoc; As you can see, this is a bit more messy than just: $string = <<< heredoc plain text and now a function: {testfunction()} heredoc; There are other ways besides the first code example, such as breaking out of the HEREDOC to call the function, or reversing the issue and doing something like: ?> <!-- directly outputting html and only breaking into php for the function --> plain text and now a function: <?PHP print testfunction(); ?> The latter has the disadvantage that the output is directly put into the output stream (unless I'm using output buffering), which might not be what I want. So, the essence of my question is: is there a more elegant way to approach this? Edit based on responses: It certainly does seem like some kind of template engine would make my life much easier, but it would require me basically invert my usual PHP style. Not that that's a bad thing, but it explains my inertia.. I'm up for figuring out ways to make life easier though, so I'm looking into templates now.

    Read the article

  • PHP - Cannot use Heredoc within a class method?

    - by Dan
    I'm writing the code for a controller method and I need to use it to send an email. I'm trying to use heredoc syntax to fill in the email body, however, the closing tag doesn't seem to be recognized. $this->email = new Email(); $this->email->from = 'Automated Email'; $this->email->to = '[email protected]'; $this->email->subject = 'A new user has registered'; $this->email->body = <<<EOF Hello, a new user has registered. EOF; $this->email->send(); Everything from the opening <<< EOF down (till the end of the file) is displayed as if it was in quotes. Can anyone see why this is not working? Any advice appreciated. Thanks.

    Read the article

  • Have trouble when using heredoc syntax in PHP

    - by wamp
    <?php $output = <<< END <table style="display: table;" class="listview rowstyle-rowhighlight" id="resourcegrid"> <thead> <tr> <th width="70"></th> <th style="-moz-user-select: none;" class="sortable fd-column-0"><a class="fdTableSortTrigger" href="#">Name</a></th> <th style="-moz-user-select: none;" class="sortable fd-column-1"><a class="fdTableSortTrigger" href="#">Contributor</a></th> <th style="-moz-user-select: none;" class="sortable fd-column-3"><a class="fdTableSortTrigger" href="#">Modified</a></th> </tr> </thead><tbody> END; echo $output; When I run it reports : Parse error: parse error on line 2 But I don't see anything abnormal.

    Read the article

  • php heredoc syntax question

    - by timpone
    Trying to output the following 5 but not sure how to do it. Any ideas? <?php $other='What are you like?'; $content['my_name']=4; $str=<<<JT here is some info. $other Do you like the number {$content['my_name']+1} ? JT; echo $str . '<br />';

    Read the article

  • What is the pro and cons using Heredoc Notation in your PHP ?

    - by justjoe
    i'm never see something like this before. So, it's confuse me for a while. But now i understand and use it sometimes. So, after brief experience, can anybody tell me What is the pro and cons using Heredoc Notation in your PHP ? $stringval = Personally, How do you use this PHP feature ? is it a bad way of coding or good way ?

    Read the article

  • PDF writeHTML for rendering tables

    - by sami
    I'm using TCPDF and following this example which uses writeHTML and heredoc syntax to write a table. http://www.tcpdf.org/examples/example_048.phps I'm trying to do though is switch the font using setFont before writing each column. This means I have to break the html and write it on different pieces (see pseudo code). But once I break the HTML like that, it doesn't work, I think because it becomes invalid. writeHTML <tr> writeHTML first column setFont() writeHTML second column writeHTML </tr> I want to use writeHTML because it helps me write the table without having to manually construct. But how can I make modifications before I output each cell?

    Read the article

  • make my file readable as either Perl or HTML

    - by JoelFan
    In the spirit of the "Perl Preamble" where a script works properly whether executed by a shell script interpreter or the Perl interpreter... I have a Perl script which contains an embedded HTML document (as a "heredoc"), i.e.: #!/usr/bin/perl ... some perl code ... my $html = <<'END' ; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> ... more HTML ... </html> END ... perl code that processes $html ... I would like to be able to work on the HTML that's inside the Perl script and check it out using a web browser, and only run the script when the HTML is the way I want. To accomplish this, I need the file to be openable both as an HTML file and as a Perl script. I have tried various tricks with Perl comments and HTML comments but can't get it quite perfect. It doesn't have to be "strictly legal" HTML... just displayable in a browser with no (or minimal) Perl garbage visible.

    Read the article

  • Using variables before include()ing them

    - by phenry
    I'm using a file, page.php, as an HTML container for several content files; i.e., page.php defines most of the common structure of the page, and the content files just contain the text that's unique to every page. What I would like to do is include some PHP code with each content file that defines metadata for the page such as its title, a banner graphic to use, etc. For example, a content file might look like this (simplified): <?php $page_title="My Title"; ?> <h1>Hello world!</h1> The name of the file would be passed as a URL parameter to page.php, which would look like this: <html> <head> <title><?php echo $page_title; ?></title> </head> <body> <?php include($_GET['page']); ?> </body> </html> The problem with this approach is that the variable gets defined after it is used, which of course won't work. Output buffering also doesn't seem to help. Is there an alternate approach I can use? I'd prefer not to define the text in the content file as a PHP heredoc block, because that smashes the HTML syntax highlighting in my text editor. I also don't want to use JavaScript to rewrite page elements after the fact, because many of these pages don't otherwise use JavaScript and I'd rather not introduce it as a dependency if I don't have to.

    Read the article

1