|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2010-12-29 12:19 UTC] jani@php.net
-Summary: A function to eval strings as if
they were heredoc'd.
+Summary: Add function to eval strings as if
they were heredoc'd
-Package: Feature/Change Request
+Package: *General Issues
-Operating System: Irrelevant
+Operating System: *
-PHP Version: 5.3SVN-2009-11-19 (snap)
+PHP Version: *
[2019-09-02 14:28 UTC] cmb@php.net
-Status: Open
+Status: Suspended
-Package: *General Issues
+Package: Strings related
[2019-09-02 14:28 UTC] cmb@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 05:00:01 2025 UTC |
Description: ------------ Hello. I would like to suggest a heredoc() function along the lines of ... string heredoc(string $template, [boolean $suppressErrors [, array &missingVariables]]) The purpose of the the function would be to allow the contents of a string to be interpreted just as if it had been supplied as a variable rather than as a constant. So the output of the example below would be Match. <?php $name = 'Richard'; $template = 'My name is {$name}'; $result = <<< END_RESULT My name is {$name}. END_RESULT; echo $result === heredoc($template) ? 'Match' : 'Different'; ?> Currently, to expand a template, output buffering and/or string/regex search/replace is required. Also eval() COULD be used but that has its own issues. But it would seem all the processing logic already exists in the heredoc functionality. Providing a function based upon the same functionality would certainly make templating easier. The ability to suppress the generation of the errors and to capture the names of missing variables would allow for a degree of flexibility beyond the current implementation of heredoc, but could be worthwhile. Regards, Richard Quadling.