- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我以前从未见过这样的事情。所以,这让我困惑了一段时间。但现在我理解并有时使用它。那么,经过短暂的体验,有人能告诉我在您的 PHP 中使用 Heredoc Notation 的优缺点吗?
$stringval = <<<MYHEREDOC
just creating variable here. nothing more.
MYHEREDOC;
就个人而言,您如何使用此 PHP 功能?这是一种糟糕的编码方式还是一种好的编码方式?
最佳答案
99% 的时间我使用它,它用于 SQL 查询,例如:
$sql = <<<END
SELECT *
FROM sometable
WHERE value > 100
ORDER BY name
END;
我发现更容易在源代码中发现此类查询并将它们复制并粘贴到某个地方以运行它们。你的旅费可能会改变。 注意:您可以使用普通字符串进行多行操作。然而,我倾向于避免这种情况,因为第一行的缩进方式与其他行不同。
就我而言,最大的“优点”是您不需要转义引号。这尤其是标记问题。自己决定哪个更容易阅读。假设:
$name = 'foo';
$type = 'text';
$value = 'Default value';
$html = '<input type="' . $type . ' name="' . $name . '" value="' . $value . '">';
$html = "<input type=\"$type\" name=\"$name\" value=\"$value\">";
$html = <<<END
<input type="$type" name="$name" value="$value">
END;
注意:在版本 2 中,您当然可以对属性值使用单引号来解决转义问题,但关键是您必须担心这样的事情。我个人也不喜欢在标记中混合属性引用类型。
关于php - 在 PHP 中使用 Heredoc Notation 的优点和缺点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2487259/
我在 php 脚本中有类似的东西: > $logFile > $logFile > $logFile > test.log > test.log <
我需要在没有任何格式的网页上显示 bash 脚本。 bash 脚本使用标准的“此处文档”块。当我尝试使用 PHP heredoc 函数输出脚本时,它会在遇到 ' #!/bin/sh rm /tmp/b
这个问题在这里已经有了答案: Does Java have support for multiline strings? (44 个答案) 关闭 7 年前。 对于 JAVA 开发,我需要写入带有“\
我知道这里有很多关于 heredocs 以及重定向和文件描述符的帖子,但我似乎找不到与我想做的事情相关的任何内容。 我想打开一个文件描述符到一个文件,然后将 heredoc 写入该文件描述符。 这是我
我刚刚开始阅读 O'Reilly 关于 PHP、MySQL 和 JavaScript 的书,并且刚刚进入学习 heredocs 的阶段。它在书中说他们按字面意思保留文本,但我的根本没有。我什至完全按照
使用下面的代码,我希望看到显示 5 个单独的行。相反,它将所有内容都放在一行上......没有制表符,没有前导空格,没有空行。出乎我的意料。 查看其他代码后,程序员插入了一系列我尝试过的 's(使用
在这里,我试图在 bash 中声明一个具有多行值的变量: $ GET="$(cat GET / HTTP/1.1 > Host: 127.0.0.1:80 > > EOF > )" 这肯定有效,但是
对于我从事的个人发展和项目,我们使用四个空格而不是制表符。但是,我需要使用 heredoc,而且我不能在不破坏缩进流的情况下这样做。 我能想到的唯一可行的方法是: usage() { cat
我正在尝试将一个数组元素传递给 heredoc,目标是生成一个文件,例如: declare -a box=("element1" "element2" "element3") cat > test.t
我正在为没有 bash 经验的 friend 编写脚本。该脚本生成一个备份脚本,生成一个 crontab 并运行 crontab 以创建一个 cron 作业。 我想为这些备份添加日期,因此当前脚本(相
这里有人可以探索使用 heredoc 的复杂性吗?在 PHP 中使用示例 PHP 代码片段,基于手册下面的内容? php.net 手册说: It is very important to note t
这个问题在这里已经有了答案: Why do these Heredoc and Nowdoc cause errors? (6 个答案) 关闭 7 年前。 我正在使用 Heredoc 将非常大的 H
我正在为 Controller 方法编写代码,我需要用它来发送电子邮件。我正在尝试使用 heredoc 语法来填写电子邮件正文,但是,似乎无法识别结束标记。 $this->email = new Em
我正在尝试用 heredoc 语句替换 HTML 代码。但是,我在最后一行收到解析错误。我确信我没有在 heredoc 结束标记行上留下任何前导空格或缩进。以下是代码的一部分: $table =
我想使用 irb 和一个 HTML 页面做一些正则表达式测试,我正试图 gsub 一些东西。 然而,我们都知道和喜爱的 HEREDOC 语法在 Ruby 中似乎有所不同: irb(main):140:
我喜欢 HEREDOC 语法,例如对于不值得放入模板的生成 HTML 的边缘情况。 不过,唯一让我恼火的是内容和 heredoc 字符串的结束标记紧贴第一列。这搞砸了嵌套代码布局: class myc
这个不起眼的终端功能在紧要关头提供一个文本编辑器。 在 Linux 和 Unix 的 shell 中有一个不为人知的功能,它能让你用 cat 命令打开一个 do-w
代码示例: create_data_with( first: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", secon
假设我在我的类中有一个名为 $_staticVar 的静态变量,我正试图像这样访问它。该变量有一个成员 aString,它的字符串值为 "my static variable" echo Th
$js = <<
我是一名优秀的程序员,十分优秀!