2017-06-02 2 views
1

Pour réduire les requêtes http, est-il acceptable d'intégrer css et js en utilisant php? Par exemple:Echo contenu de css et js dans HTML en utilisant PHP

<style> 
<?php echo require_once("css/style.css"); ?> 
</style> 


<script> 
<?php echo require_once("js/myjs.js"); ?> 
</script> 
+10

Vous pouvez le faire je suppose (laisser tomber le 'echo' si) ... mais cela ne va pas être particulièrement bénéfique à long terme. Le navigateur mettra en cache le fichier '.css' ou' .js' sur la première page que le visiteur utilise puis l'utilisera pour chaque page suivante - ce que vous faites ici signifierait que tous vos JS/CSS devraient être chargés sur * chaque * page; c'est-à-dire 1 demande http (par ressource) de moins pour l'ensemble de votre site au prix d'une augmentation de la taille du fichier sur * chaque * page. – CD001

Répondre

3

Je vais d'abord répondre à la deuxième partie de votre question, puis appliquer la première moitié.

"est-il correct d'intégrer css et js en utilisant php" - oui. Dans certains cas, il est judicieux d'ajouter votre CSS et votre JS dans une feuille de style interne de votre document.

Votre méthode pourrait cependant faire beaucoup d'amélioration. Un moyen rapide de le faire serait d'utiliser file_get_contents comme ceci:

echo '<style type="text/css">'.file_get_contents('/path-to-your/style.css').'</style>'; 

Les seuls cas où je suggère saisir le contenu des fichiers et de les ajouter dans le document directement les cas qui impliquent l'écriture de plugins pour les systèmes CMS tels que Wordpress ou Joomla etc.

Parfois, votre plug-in peut seulement besoin d'utiliser 5 - 10 lignes de CSS et/ou JS, et il serait mal vu de forcer votre utilisateur à ajouter une autre stylesheet à leurs requêtes http pour si peu de code. Dans ces cas, je suggère de charger des feuilles de style/scripts internes.

MAIS ce n'est pas une bonne idée de le faire à « Pour réduire les demandes http » comme première moitié de la question a demandé. Si vous voulez vraiment réduire vos requêtes http, vous devriez sérieusement envisager de fusionner vos feuilles de style et fichiers de script. Il est préférable d'avoir quelques gros fichiers que beaucoup de minuscules.

+1

Merci, je n'y avais pas pensé. C'était très utile. – Srijay

2

Cela ressemble à une pratique vraiment mauvais pour moi. De plus, je ne vois pas comment vous allez avoir un gain de performance ici, plutôt comme le contraire.

Vous devriez vous concentrer davantage sur QUAND vous avez vraiment besoin de charger votre js et css. La réduire devrait aussi aider.

2

L'impression de ressources telles que JS ou CSS dans un fichier pour les charger plus rapidement est définitivement une mauvaise pratique pour moi. Les navigateurs modernes finissent par les mettre en cache pendant que l'utilisateur tape votre première page. Selon moi, vous pouvez essayer de minimiser vos fichiers de ressources pour les charger plus rapidement et améliorer la mise en cache si vous le souhaitez, mais ce n'est pas nécessaire car tous les navigateurs modernes gèrent très bien la mise en cache.