问题标签 [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.

0 投票
2 回答
6066 浏览

bash - 我可以使用heredoc在bash中输入密码吗?

我知道 RSA 身份验证,但出于我的目的,我想使用 heredoc 来指定密码。我想要类似下面的东西,但我无法让它工作。这甚至可能吗?

这是我尝试时得到的:

编辑:

根据 bmargulies 的回答,我重新编写了我的脚本并提出了以下内容:

0 投票
8 回答
7516 浏览

php - 简单的 PHP 模板...没有 `eval` 可以工作吗?

更新 -感谢所有回复。这个Q有点乱,所以如果有人感兴趣,我开始了续集。


我正在为朋友编写一个快速脚本,偶然发现了一种在 PHP 中进行模板的非常简单的方法。

基本上,这个想法是将html文档解析为heredoc字符串,因此其中的变量将由PHP扩展。

传递函数允许在字符串中进行表达式评估以及函数和静态方法调用:

在 heredoc 字符串中解析文档的代码非常简单:

唯一的问题是,它使用eval.

问题

  • 谁能想到一种不使用eval但不添加解析器或大量正则表达式疯狂的方法来做这种模板?

  • 有什么建议可以在不编写完整解析器的情况下转义不属于 PHP 变量的杂散美元符号吗?杂散的美元符号问题是否会使这种方法不适用于“认真”使用?


这是一些示例模板化的 HTML 代码。

为什么要使用模板?


关于在 PHP 中创建模板层是否有必要的讨论已经有了一些讨论,诚然,PHP 已经非常擅长模板化。

模板有用的一些快速原因:

  • 你可以控制它

    如果您在文件进入解释器之前对其进行预处理,您就可以更好地控制它。你可以注入东西,锁定权限,抓取恶意 php / javascript,缓存它,通过 xsl 模板运行它,等等。

  • 良好的 MVC 设计

    模板促进了视图与模型和控制器的分离。

    在视图中进出<?php ?>标签时,很容易变得懒惰并执行一些数据库查询或执行一些其他服务器操作。使用像上面这样的方法,每个“块”只能使用一个语句(没有分号),所以要陷入这个陷阱要困难得多。<?= ... ?>有几乎相同的好处,但是...

  • 短标签并不总是启用

    ...并且我们希望我们的应用程序能够在各种配置上运行。

当我最初将一个概念组合在一起时,它从一个 php 文件开始。但在它增长之前,我并不高兴,除非所有 php 文件<?php在开头只有一个,最后只有一个?>,最好都是类,除了控制器、设置、图像服务器等。

我根本不想在我的观点中使用太多 PHP,因为当 Dreamweaver 或其他任何东西在看到类似这样的东西时,设计师会感到困惑:

这对于程序员来说已经够难了。一般的平面设计师不会靠近它。这样的事情更容易处理:

程序员将他讨厌的代码保留在 html 之外,现在设计师可以发挥他的设计魔力了。耶!

快速更新

考虑到大家的建议,我认为预处理文件是要走的路,中间文件应该尽可能接近普通的“php模板”,模板是语法糖。当我玩它时,Eval 现在仍然在原位。heredoc 的东西已经改变了它的角色。稍后我会写更多并尝试回应一些答案,但现在......

...

0 投票
3 回答
9201 浏览

php - 是否可以在 PHP.. 中连接 heredoc 字符串?

使用普通的 PHP 字符串,您可以这样做:

但是你能对heredoc字符串做同样的事情吗?

0 投票
3 回答
13534 浏览

php - php heredocs语法中的条件语句?

我想知道你是否可以在 heredocs 中有条件语句,这是我的脚本,但它无法正确解析 $username?

php代码:

问题是 $username 变量 deosnt 在 html 上呈现。它仍然是 $username :)) 谢谢

0 投票
5 回答
1328 浏览

perl - 这两个 Perl 片段有什么区别?

你为什么要使用一个而不是另一个?

0 投票
3 回答
9963 浏览

perl - 在 EOF 之前的任何地方都找不到字符串终止符“str”

为什么我会收到此错误?

0 投票
1 回答
329 浏览

ruby - ruby 的目的或这里的文件是什么?

我在“The Ruby Programming Language”一书中阅读了有关此处的文档,但不了解此处文档的目的是什么,以及您何时将其用于生产代码。如果有人可以解释并给出一些用法示例,我会很高兴。

问候,

0 投票
1 回答
709 浏览

python - Python - 打印直到标记(a la PHP)?

在 PHP 中,我可以这样做:

有没有办法在 Python 中做类似的事情?

我想转储一大块 HTML 而不必担心转义,例如尖括号。

0 投票
2 回答
5539 浏览

perl - 如何在 Perl 的文档中打印粗体文本?

我正在使用此处的文档为用户打印使用消息。有没有办法打印类似于 unix 上的手册页的特定单词BOLD 。我在 Unix 上使用它。有没有办法在此处的文档中使用 Term::ANSIColor(或其他方式?)?

0 投票
1 回答
390 浏览

perl - 在 Perl 函数中打印自由格式文本?

尝试在 Perl 的子例程中打印自由格式文本时,我遇到了一个非常奇怪的错误。下面是我正在调用的代码

奇怪的是,这只适用于我的主要功能。一旦我把它放在一个函数调用中,我就会得到这个错误:

这意味着它找不到 HEADER,即使它在那里。不能在函数(子程序)中使用自由格式文本吗?