2014-04-18 30 views
0

我偶然排序發現,是<? ... ?>有效的速記PHP,它會一直工作嗎?

<?php ... ?> 

可縮短至

<? ... ?> 

這是一個壞主意?在某些情況下?他們是什麼案例?有沒有更多的簡寫例子?我意識到涉及條件語句的速記範例,但我不覺得它們更易於閱讀。

請鏈接我,如果這已被其他地方回答,但我無法通過搜索找到它。也許我沒有使用正確的關鍵字。

+0

恕我直言,避免他們因爲這會混淆XML –

+2

人我永遠無法理解使用短標籤;額外的三個按鍵並不是真的*這是很多問題;並使用短標籤似乎冒着不必要的問題。 –

+1

我同意@DavidThomas。根據我的經驗,它們是懶惰的標誌。我更喜歡PHP塊以文本'php'開始。清晰時很難誤解你的代碼。 –

回答

2

這速記上市已經有很長一段時間,但its use is discouraged(並且默認時下禁用),因爲與其他語言—歧義與ASP的接受<? x ?>能力,並與不同的XML結構的各種不兼容的,有兩個明顯的例子。

選擇不使用它。

相比之下,<?= x ?>速記(相當於<?php echo x ?>)已在普及和is enabled by default since PHP 5.4的復甦,因爲它不會從同一問題的困擾。

與往常一樣,請對這樣的事情規範信息的文檔。

+0

太棒了,謝謝。很好的回答,給我留下了一些引用URL來進一步閱讀,這導致我這樣做。什麼情況下有人會使用? –

+0

@DanielSchwarz:我們不談論那個:P –

+0

哈哈,我想盡可能多,但它是一個有趣的發現! –

1

速記標籤僅在某些設置中啓用。他們很沮喪。見PHP手冊條目標籤:http://www.php.net/manual/en/language.basic-syntax.phptags.php

PHP還允許較短的開放標籤(這是氣餒,因爲他們只有當與short_open_tag的值爲php.ini配置文件中啓用可用,或者PHP與配置--enable-短標籤選項。

至於其他速記,沒有其他人存在。該<?= ?>簡寫也可能會被視爲一個,雖然它是唯一的用法是輸出變量(如在另一個答覆中提到,以這個問題)。關閉?>是一種排序方式,對於那些不包含beyon d PHP代碼。在上面鏈接的手冊條目中也提到了這種技術。

+0

''肯定存在。 –

+0

@LightnessRacesinOrbit它是PHP特有的嗎? –

+0

是的,我知道一個@LightnessRacesinOrbit,它對插入HTML之間非常有用,謝謝! –

0

它會工作嗎?在某些情況下。 PHP有幾個可用的開放標籤,看看。但你應該小心,因爲它取決於PHP的配置(通常是/etc/php.ini或/etc/php/php.ini)。有一個選項short_open_tag = On。如果未啓用,代碼將在視圖中呈現,並且不會以php代碼的形式執行。

0

正如blakeo_x說,速記是隻有在PHP配置文件有它纔能有效。 由於您可能必須在未啓用速記的其他服務器上運行它,因此不鼓勵它。因此,請嘗試堅持更長的版本<?php

相關問題