簡體   English   中英

用PHP加載CSS(可能還有JS)

[英]Loading CSS (& possibly JS) with PHP

如果您有很多文件,那么在標頭中執行以下操作會有任何好處:

<style type="text/css">
<?php 
include("css/myCss1.css"); 
include("css/myCss2.css"); 
include("css/myCss3.css"); 
include("css/myCss4.css"); 
include("css/myCss5.css"); 
?>
</style>

這樣,服務器將返回一個文件而不是多個文件。 您還可以在腳本標簽之間從js加載內容。

請不要大驚小怪,只說明在需要大量單個文件並且想要合並而不是讓主文件單獨調用這些文件的情況下為什么這樣做有意義或不可行。

我已經嘗試過了,而且它們似乎也能正常工作……但是對服務器的影響是什么,或者速度的好處(如果有)。

只是好奇...非常感謝。

更新:謝謝您的答復...另一個解決方案(將處理緩存問題)是否將有1個外部php文件,將所有其他css加載到其中-將全部組合為1? 那有意義嗎?

您應該使用外部樣式表,因此可以單獨緩存它,因為在大多數情況下,PHP用於從數據庫檢索的動態數據,並且您可能不想緩存所有數據。 如果除了合並CSS之外沒有使用PHP,則一定要使用LESS @ http://www.lesscss.org ,因為它是一種CSS預處理語言,具有許多使CSS開發更容易的功能,其中包括合並CSS文件。一起。 您也可以嘗試類似的SASS @ http://sass-lang.com/ 這樣,您減少了HTTP請求的數量,服務器不必不必要地繼續運行PHP代碼,並且不需要從磁盤進行太多讀取。

當然可以,但是由於HTML輸出內容的大小保持不變,並且向客戶端發送了相同數量的千字節,因此這里沒有真正的好處。

而且可能會有很多缺點,首先,當您必須更新任何CSS類時,很難調試要更新的文件。 您必須手動找到它。

但是,與此相反的一個主要觀點是PHP包含並不意味着CSS包含。 盡管這似乎對您有用,但是源代碼包含是針對源代碼的。 它的編程習慣很差,並且還要求PHP不必要地解析所有這些CSS文件。 CSS文件的這種不必要的解析將抵消您從中獲得的好處。 相反,您可以簡單地將所有這些CSS文件合並為一個。

除了Hanky Panky的答案之外,當在CSS文件中添加HTML代碼時,瀏覽器可能會在本地緩存CSS文件,從而減少了在服務器和客戶端之間傳輸的數據。

當像您的問題中將CSS包含在PHP中時,就不可能在CSS上進行本地緩存。

編輯: 在理論上,只有將PHP-CSS包含為使用HTML代碼的樣式表,才能對所有CSS使用一個PHP。 在PHP-CSS文件中編寫<style type="text/css">或在主文件中使用include inside這樣的語句都無濟於事。 但是,無論哪種方式,我都不建議這樣做。 PHP並不是為了將許多CSS文件包含到一個文件中。

暫無
暫無

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

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