2016-04-02 242 views
-2

我有一些用PHP 5.3編寫的舊的遺留代碼。<?有什麼區別?和<?php

在此代碼的所有PHP塊都像

<? some_php_code_here ?> 

和我的Apache根本不理會他們,而作品好與

<?php some_php_code_here ?> 

爲什麼舊代碼包含無效塊,爲什麼這種舊的代碼工作良好的舊服務器?這真的很難給谷歌的東西有這麼多的特殊符號,對不起,愚蠢的問題

+1

在''工作方式,你必須啓用'在'php.ini' shorttag'。但不推薦。 –

+1

'<?'只有在'php.ini'中將'short_opentag'設置爲'on'時纔有效。一般建議'<?php'。 – paskl

+2

它可以幫助您開始閱讀所使用工具的文檔。沒有查看文檔,您無法編程。至少不是以一種有效和成功的方式。 – arkascha

回答

1

<?被稱爲PHP的短標記

這裏是什麼manual有什麼看法

PHP還允許短打開標籤<? (這是不鼓勵,因爲如果使用的是short_open_tag的值爲php.ini的 配置文件指令啓用它 僅適用,或者如果PHP是用 --enable-短標籤選項配置)。

您可以在運行時使它們能夠與<?php ini_set('short_open_tag',1) ?>

但是,如果你這樣做,你將無法使用內聯XML像這樣<?xml ?> ,而是可以使用

<?php echo '<?xml version="1.0"?>'; ?> 

由於我經常使用的附註:

<a href="<?= "$hello_url" ?>"><?= "Hello world" ?></a> 

<?= 'foo' ?> i s等效於<?php echo 'foo' ?>,並期待在模板文件更清潔在我看來

由於PHP版本5.4,<?=不再依賴於short_open_tag,但在此之前,它是,因此應注意,如果你可能會在運行代碼採取老版本PHP

相關問題