6
votes

PHP - Générer JavaScript

Je travaille sur un projet qui a beaucoup de JavaScript. Je pense que cela générer des chaînes simples et les mettre entre "

3 Réponses :


2
votes

Vous voudrez peut-être consulter json_encode et json_decode .


2 commentaires

J'utilise déjà cela, mais JSON_ENCODE ne vous aiderait pas avec des fonctions intégrées, des événements et des trucs comme ça.


@Ivan vous avez commenté la mauvaise réponse, mais merci: p. @Spyro Non, ce ne sera pas. C'est juste un moyen de transférer des données entre les deux, ce qui est tout ce dont vous devriez avoir besoin.



14
votes

La meilleure approche consiste à penser JavaScript sous forme de code PHP.

Les étapes de base sont les suivantes:

  1. Créez un fichier .htaccess qui redirige tous les fichiers JS (.js) à un fichier d'index.
  2. Dans ce fichier d'index charge le fichier JS en tant que module PHP ( nécessite "script / $ fichier" )
  3. Modifiez tous les fichiers JS dont vous avez besoin. Maintenant, vous pouvez intégrer le code PHP.

    par exemple, ajoutez à votre .htaccess cette ligne: xxx

    dans votre fichier index.php mettre quelque chose comme : xxx

    et enfin dans votre fichier.js.php Vous pouvez intégrer php, utiliser get and Post paramètres, etc: xxx

    En outre, une astuce pour sauter le cache de fichier consiste à ajouter un nombre aléatoire sous forme de paramètre JavaScript: xxx

    aussi, comme indiqué dans un commentaire, si votre serveur Web t permet de modifier le .htaccess , vous pouvez simplement demander directement le fichier php: xxx


5 commentaires

Je l'aime bien! Je veux dire que j'ai beaucoup de bibliothèques qui génèrent du code JavaScript par Concaténate Strings, qui, après un certain temps, devient désordonné. Mais cela, je pourrais résoudre avec la vue en MVC. Je vais essayer ça, merci!


Vous n'avez même pas besoin de rewriteule (et certains hôtes ne le permettent pas). Il suffit d'utiliser en-tête ("Type de contenu: texte / javascript"); , il suffit.


Oui, mais qu'en est-il de la mise en cache dans les navigateurs? J'ai une mauvaise expérience avec la mise en cache du contenu du fichier généré dynamiquement (JS, CSS, des images).


Définissez Pragma sur No Cache si vous l'avez par défaut. Je n'ai jamais eu de problème avec cette technique.


Oui, mais je veux que les navigateurs cachent le fichier généré dynamiquement et que votre solution semble désactiver la désactivation. Comment puis-je générer un fichier JS (Orr CSS, quoi que ce soit) et de forcer le navigateur pour le traiter comme fichier habituel (cache et tout).



4
votes

J'essayais de rendre mon serveur faire un appel d'API et de l'intégrer dans un HTML pour avoir un processus JavaScript. Bien sûr, mettez ce que vous voulez dans l'écho ..

<script type="text/javascript" src="a_local_file.php"></script>


0 commentaires