问题标签 [heredoc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 在 HEREDOC 字符串中调用 PHP 函数
在 PHP 中,HEREDOC 字符串声明对于输出 html 块非常有用。您可以通过在变量前加上 $ 来解析变量,但对于更复杂的语法(如 $var[2][3]),您必须将表达式放在 {} 大括号内。
在 PHP 5 中,实际上可以在 HEREDOC 字符串内的 {} 大括号内进行函数调用,但您必须做一些工作。函数名本身必须存储在一个变量中,并且您必须像调用它是动态命名的函数一样调用它。例如:
如您所见,这比仅仅更混乱一点:
除了第一个代码示例之外,还有其他方法,例如突破 HEREDOC 来调用函数,或者扭转问题并执行以下操作:
后者的缺点是输出直接放入输出流(除非我使用输出缓冲),这可能不是我想要的。
所以,我的问题的本质是:有没有更优雅的方法来解决这个问题?
根据回复进行编辑:看起来某种模板引擎确实会让我的生活更轻松,但它需要我基本上颠倒我通常的 PHP 风格。并不是说那是一件坏事,但它解释了我的惰性。不过,我正在想办法让生活更轻松,所以我现在正在研究模板。
ruby - 无法将 Ruby 块分类到文件
请帮忙,我被困在这里---
php - 我怎么写<<
我忘记了如何编写一个看起来像这样的命令
<<TOC
bla bla
bal bal
TOC;
又是怎么写的?
我忘记了如何编写一个看起来像这样的命令
<<TOC
bla bla
bal bal
TOC;
又是怎么写的?
我忘记了如何编写一个看起来像这样的命令
又是怎么写的?
老实说,我会使用Superfish插件而不是重新发明轮子。将其与hoverIntent结合使用,它应该能够完成您需要的一切。
java - 如何在 Ant 脚本中内联几行 java 行?
如何将几行 Java 代码行内联(此处为文档)到 Ant 脚本中?请举个例子?
java - 在 Java 源代码中处理大文本片段
有没有什么好的方法可以在 Java 源代码中处理文本块(字符串)?许多其他语言都有可用的heredoc语法,但Java没有。这使得使用诸如输出大量静态标记的标记库和需要断言与 XML 块进行比较的单元测试之类的东西非常不方便。
其他人如何解决这个问题?甚至可能吗?还是我只能忍受?
javascript - 在 JavaScript 中创建多行字符串
我在 Ruby 中有以下代码。我想将此代码转换为 JavaScript。JS中的等效代码是什么?
shell - shell脚本中的行错误
我在 shell 脚本中有以下代码。这似乎仅在未在函数中定义时才有效。有问题的行是包含“<<”的行。错误信息是
“./run:第 210 行:语法错误:文件意外结束”
如何在函数中正确编写它?
javascript - 在 Javascript 中使用长字符串文字的最佳方法是什么?
可能重复:
Javascript 中的多行字符串
在 Ruby 中,您可以执行以下操作:
这样,您的代码中就有很长的字符串文字,而不必转义很多字符。JavaScript中有类似的东西吗?
目前我有这样的 JavaScript 代码,它让我发疯......
templates - Windows批处理的heredoc?
有没有办法以类似于 unix shell 中的 heredoc 的方式批量指定多行字符串。类似于:
这个想法是从模板文件创建一个自定义文件..
php - PHP 表达式 <<
我已经使用 PHP 开发了几年了,最近遇到了这段代码:
<?php
echo <<<EOB
<html>
<head>
<title>My title</title>
</head>
...
EO
我已经使用 PHP 开发了几年了,最近遇到了这段代码:
我从未见过这种打印 HTML 的方法,它似乎非常有用,而且不太容易出现一些奇怪的变量或双引号语法错误。
我搜索了一些关于这个的官方信息,只找到了一篇关于 Rasmus 的帖子。
关于此功能的详细说明是什么?EOB 是什么意思?也许块结束?
这称为heredoc语法。该文档将告诉您您需要知道的一切。
然而,本质上:
第三种分隔字符串的方法是 heredoc 语法:<<<。在此运算符之后,提供一个标识符,然后是一个换行符。字符串本身紧随其后,然后再次使用相同的标识符来关闭引号。
结束标识符必须从该行的第一列开始。此外,标识符必须遵循与 PHP 中任何其他标签相同的命名规则:它必须仅包含字母数字字符和下划线,并且必须以非数字字符或下划线开头。
这EOB
就是作者选择的分隔符,不确定在他的情况下它代表什么,但标识符可以是你想要的任何东西。
我已经使用 PHP 开发了几年了,最近遇到了这段代码:
<?php
echo <<<EOB
<html>
<head>
<title>My title</title>
</head>
...
EO
我已经使用 PHP 开发了几年了,最近遇到了这段代码:
我从未见过这种打印 HTML 的方法,它似乎非常有用,而且不太容易出现一些奇怪的变量或双引号语法错误。
我搜索了一些关于这个的官方信息,只找到了一篇关于 Rasmus 的帖子。
关于此功能的详细说明是什么?EOB 是什么意思?也许块结束?
这称为heredoc语法。该文档将告诉您您需要知道的一切。
然而,本质上:
第三种分隔字符串的方法是 heredoc 语法:<<<。在此运算符之后,提供一个标识符,然后是一个换行符。字符串本身紧随其后,然后再次使用相同的标识符来关闭引号。
结束标识符必须从该行的第一列开始。此外,标识符必须遵循与 PHP 中任何其他标签相同的命名规则:它必须仅包含字母数字字符和下划线,并且必须以非数字字符或下划线开头。
这EOB
就是作者选择的分隔符,不确定在他的情况下它代表什么,但标识符可以是你想要的任何东西。