簡體   English   中英

在Lithium中關閉PHP標簽

[英]Closing PHP tag in Lithium

如您所知,大多數PHP源文件都不贊成插入結束標記,但是我想知道為什么在Lithium文檔中 ,鼓勵它包含結束PHP標記? 有什么合理的理由嗎? 除了它的文檔中還有其他一些過時的樣式。 鋰是一個活躍的項目嗎?

更新:即使在僅包含PHP的文件中打開php標簽似乎也是多余的,我們將其包含在內,因為當前我們必須這樣做(如果只有php代碼的文件具有標准文件擴展名,則無需打開標簽),但更奇怪的是,甚至有人說我們應該添加一個結束標記!

省略結束標記是草率的。

任何人這樣做的唯一借口是,您可能會不小心留下一些尾隨空格,從而導致標題過早發送。 這就是為什么這種辯解完全是偽造的:

  1. 如果您安裝了Xdebug(如果沒有安裝,則會遇到更大的問題),如果您嘗試編寫標頭,它會告訴您輸出的確切位置
  2. 我發現這種行為表現為對細節的整體缺乏關注。 很有可能,如果您錯了,那么代碼也可能有其他問題(或者您的編輯器配置不正確)
  3. 好的QA工具完全否定了這一點:我們擁有li3_quality ,這是一個全面的代碼質量驗證器

本質上,人們以懶惰的形式來證明草率。

如果瀏覽Lithium的編碼標准,您會注意到對對稱性的高度關注。 在編碼標准一切都是對稱的。 包括打開/關閉標簽。 這樣做對我們來說從來都不是問題,因為我們擁有良好的質量檢查工具。

鋰編碼標准

問題... 編碼標准 ...只是鋰電池開發人員認為是其項目的最佳編碼標准。 我個人認為結束標記更可取。

雖然PHP文檔說,如果它是“純” PHP代碼,則最好不使用close標記(多數情況下,不要意外在其后添加空格或其他內容),這是避免這種情況的一種簡單方法,那就是不要這樣做第一名。 我更喜歡留下標簽,以便...

  • 代碼看起來更統一
  • 確保服務器兼容性
  • 為了更好地支持文本編輯器中的顏色編碼等

這也對Lithium的工作方式造成了某種誤解……給出的示例是針對充當ControllersModels等文件的。這些文件在大多數情況下不會像Views一樣被最終用戶請求直接訪問(由於缺乏一種更簡單的解釋方式。)

鋰是一個活躍的項目嗎?

至於鋰是一個“積極”的項目,我建議參考他們的...

截至本文發布時,最后一次dev分支提交是在10個小時前。

鋰對“短”標簽的使用...

作為記錄,Lithium文檔中的其他示例使用所謂的PHP“短”標簽,例如<?= ... ?>代替: <?php ... ?>附帶了一個重要的警告,請參閱文檔

您可能已經注意到,上面的示例使用short標記語法來輸出view變量的內容。 該語法有點誤導,因為Lithium不依賴或不使用短標簽:此輸出行為的工作方式與外觀有所不同。 呈現視圖層時,每個模板在被編譯為最終形式之前都由令牌處理程序處理。 在此步驟中,如下所示:

<?=$variable; ?>

被翻譯成這樣的東西:

<?php echo $h($variable); ?>

您在此處使用的$h()函數轉義了HTML。 簡而言之,此機制為您提供了一種簡單的方法,以確保所有動態生成的數據都可以安全地放到HTML模板中。

我們強烈建議使用<?= ...; ?> 在您的視圖中使用<?= ...; ?>語法,因為它有助於極大地增強您的應用程序免受跨站點腳本(和相關)攻擊技術的侵害。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM