当前位置:  开发笔记 > 编程语言 > 正文

使用PHP将变量插入文本的最短方法是什么?

如何解决《使用PHP将变量插入文本的最短方法是什么?》经验,为你挑选了1个好方法。

我想知道在PHP中插入文本是否有更短的方法


This website is a funky guide to !!!

例如,在轨道上使用ruby,我可以设置

city = 'London'

在代码中的某个地方,在我的.erb文件中,我可以做到

This website is a funky guide to <%= city %>!!!

我确实阅读过{$city}可以使用的地方,但我尝试了它并没有.那么是否有比较短的形式



1> Pascal MARTI..:

您可以使用short_open_tag,必须在您的配置中启用,但这不被认为是一种好的做法,因为它只有在启用时才有效 - 并且它们并非总是(默认情况下可能不是)

使用长标签和回声/打印可能会更长,是的...但我建议使用那些,而不是短标签.


另请注意,当数据来自不受信任的来源和/或可能包含您不希望在页面中注入的HTML时,您可能需要转义数据,以避免注入HTML/JS (请参阅htmlspecialchars):


在评论之后编辑,添加几件事short_open_tag:

为什么考虑短开标签(至少我是^^)不良做法?

首先,经过一些检查后,默认情况下不会启用它们:

对于PHP 5.3:

squale@shark:~/temp/php/php-5.3.0
$ grep 'short_open_tag' php.ini-development
; short_open_tag
short_open_tag = Off
squale@shark:~/temp/php/php-5.3.0
$ grep 'short_open_tag' php.ini-production
; short_open_tag
short_open_tag = Off

默认情况下在" development"或" production"设置中禁用.

对于PHP 5.2.10 (最新版本的PHP 5.2):

squale@shark:~/temp/php/php-5.2.10
$ grep 'short_open_tag' php.ini-dist
short_open_tag = On
squale@shark:~/temp/php/php-5.2.10
$ grep 'short_open_tag' php.ini-recommended
; - short_open_tag = Off           [Portability]
short_open_tag = Off

默认情况下在" recommended"设置中禁用


考虑到这些默认设置有时(通常是?)由托管服务保留,依赖于short_open_tag激活是危险的.
(我自己遇到了被禁用的问题......当你不是服务器的管理员并且没有必要的特权来修改它时,它并不好玩^^)

如果你想要一些数字,你可以看一下Quick survery:short_open_tag默认支持on或off?
(不是科学证明 - 但表明将它们用于您向公众发布的应用程序可能很危险)


就像你说的那样,那些在激活时会与XML声明冲突 - 意味着你必须使用这样的东西:

'; ?>

考虑到存在短暂打开的标签,并且可能会在您将使用的服务器上激活,但您应该可能永远不会使用; 太糟糕了:-(


实际上,阅读PHP 5.2.10推荐的php.ini:

; Allow the  tags are recognized.
; NOTE: Using short tags should be avoided when developing applications or
; libraries that are meant for redistribution, or deployment on PHP
; servers which are not under your control, because short tags may not
; be supported on the target server. For portable, redistributable code,
; be sure not to use short tags.

PHP 6中的那个更有趣:

; This directive determines whether or not PHP will recognize code between
;  tags as PHP source which should be processed as such. It's been
; recommended for several years that you not use the short tag "short cut" and
; instead to use the full  tag combination. With the wide spread use
; of XML and use of these tags by other languages, the server can become easily
; confused and end up parsing the wrong code in the wrong context. But because
; this short cut has been a feature for such a long time, it's currently still
; supported for backwards compatibility, but we recommend you don't use them.

(在PHP 5.3中可能相同;没有检查)


有传言说可以从PHP 6中删除短开标签; 考虑到我刚刚发布的php.ini部分,它可能不会...但是,仍然......


为了给出一个指向另一个方向的论据(毕竟我必须诚实):对模板文件 使用短开放标签(仅限)通常在Zend Framework的使用模板文件的示例中完成:

在我们的示例和文档中,我们使用PHP短标记:

也就是说,许多开发人员更喜欢使用完整标签来验证或移植.例如,在php.ini.recommended文件中禁用了short_open_tag,如果在视图脚本中模板化XML,则短打开标记将导致模板验证失败.

(来源)

相反,对于.php文件:

永远不允许使用短标签.对于仅包含PHP代码的文件,必须始终省略结束标记

(来源)


我希望这些信息是有用的,并为你的评论带来某种答案:-)

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有