Req #68249 [Opn]: Implement another string delimiter as alternative to double quotes
| From: | cmb@php.net | Date: | Sat, 08 Aug 2015 14:14:53 +0000 |
| Subject: | Req #68249 [Opn]: Implement another string delimiter as alternative to double quotes | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-195027@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=68249&edit=1
ID: 68249
Updated by: cmb@php.net
Reported by: work at web-sav dot de
Summary: Implement another string delimiter as alternative to
double quotes
Status: Open
Type: Feature/Change Request
Package: Scripting Engine problem
Operating System: Irrelevant
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
FWIW, you can also do
$html = sprintf('<a href="%s">%s</a>', $url, $label);
Previous Comments:
------------------------------------------------------------------------
[2014-10-17 07:48:06] work at web-sav dot de
Description:
------------
How to merge together HTML/JS/SQL and PHP inside non-view scripts:
// looks messy
$htmlSingle = '<a href="' . {$url} . '">' . {$label} .
'</a>';
// good, but needs to be escaped
$htmlDouble = "<a href=\"{$url}\">{$label}</a>;
// breaks code clearity (especially inside classes)
$htmlHeredoc = <<<HTML
<a href="{$url}">{$label}</a>
HTML;
None of the above solutions are really perfect for solving one of the most common task in PHP. So a
mixture of the heredoc syntax (code injection for phpstorm) and the double quotes (one liners) would
be perfect imo. Maybe something like this:
// without code injection feature
$html = :|<a href="{url}">{$label}</a>|;
// with code injection
$html = :HTML|<a href="{url}">{$label}</a>|;
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=68249&edit=1