阅读一些PHP代码,我无法理解:
的用法 <?=
我理解php标签的使用:
<?php
和<?
我正在阅读的确切用法是:
<?=$form->hidden('mode',$mode); ?>
其中$ form是一个对象的新实例化类,“隐藏”一个类方法。所有这一切都被理解,但当我在它之间放置一个空间时?和= <?=
我收到错误:
Parse error: syntax error, unexpected '=' in /home/...
我在google或php.net上找不到任何关于语法的内容。
任何帮助都将不胜感激。
答案 0 :(得分:2)
这是echo
的捷径。这样的事情(其中expr
是任何表达式):
<?= expr ?>
在功能上等同于:
<?php echo expr; ?>
建议不要使用此语法,因为某些服务器上未启用此语法。 (如果有人使用共享主机,他们可能无法重新启用它)
关于它的PHP文档是here。
答案 1 :(得分:1)
<?=
是<?php echo
的简写。不再推荐使用它,显然是因为解析器有些含糊不清或与某些PHP版本不兼容,尽管我仍然在像Drupal这样的大型项目中看到它。
编辑:他们被称为“短标签”,并且可以在此处找到关于是否应该使用它们的讨论:Are PHP short tags acceptable to use?
答案 2 :(得分:1)
它被称为short open tag。如果它在您的服务器上启用,那么您可以使用它。
来自PHP手册:
这个指令也影响了PHP 5.4.0之前的简写
<?=
与<? echo
相同。使用此快捷方式需要short_open_tag 继续。自PHP 5.4.0起,<?=
始终可用。
使用这些类型的标签可以获得与使用echo
相同的结果。以下示例是等效的。
示例:强>
<?php echo $text; ?>
<?= $text; ?>
答案 3 :(得分:1)
<?xml version="1.0" encoding="iso-8859-1"?>
PHP会认为你试图写一些PHP,错误和死亡。你最终不得不这样做
<?php echo '<?xml version="1.0" encoding="iso-8859-1"?>'; ?>
答案 4 :(得分:0)
答案 5 :(得分:0)
例如,当您在HTML文件中时,快速打印内容的简写。建议不要使用它,因为它已被弃用。
答案 6 :(得分:0)
&lt;?=这里的东西;?&gt;这是&lt;?php echo stuff的缩写;?&gt;
http://mattsblog.ca/2007/07/26/tip-of-the-day-php-shorthand/
答案 7 :(得分:0)
这是一个短标记,无法在所有服务器上使用。
<?=
与<?php echo
在<?=
中添加空格会使短标记无效,这就是您收到错误的原因。