我有这段代码:
<?php echo $form->fileField($model, 'avatar_url', array('style' => 'display:none')) ?>
<a href="#" class="thumbnail" style="width: 96px" id="avatar">
<?php if (empty($model->avatar_url)) { ?>
<img data-src="holder.js/96x96" id="avatar-img">
<?php } else { ?>
<img src="<?= Yii::app()->baseUrl . $model->avatar_url ?>" id="avatar-img">
<?php } ?>
当我将<?php
替换为<?
时,代码无效,浏览器显示错误。
PHP notice未定义的变量:class
也许我错过了PHP的扩展程序?
答案 0 :(得分:4)
听起来你需要在你的php.ini中启用short_open_tag
。
在php.ini中找到行short_open_tag
并将值设置为1
:
short_open_tag = 1
进行更改后,重新启动Web服务器。
在此处阅读更多内容:http://php.net/manual/en/ini.core.php#ini.short-open-tag
<强> short_open_tag的值为强>
告诉PHP是否应该允许PHP的开放标记的缩写形式(
<? ?>
)。如果要将PHP与XML结合使用,可以禁用此选项以使用<?xml ?>
内联。否则,您可以使用PHP打印它,例如:<?php echo '<?xml version="1.0"?>'; ?>
。此外,如果禁用,则必须使用PHP开放标记的长格式(<?php ?>
)。
答案 1 :(得分:3)
在PHP5中,<?
不再允许。我们总是应该使用<?php
。顺便说一句,你可以做一些技巧。但<?php
是一种很好的做法,所以不要离开它。
答案 2 :(得分:2)
虽然技术上<?
可以与PHP一起使用considered best practice,但总是使用<?php
。