J'ai un site Web où j'inclus un fichier de bibliothèque php et un fichier de bibliothèque javascript. J'ai résumé le problème des fichiers suivants:Code d'organisation incluant les fichiers php et javascript
index.php
<?php
include('constants.php');
?>
<html>
<head>
<script type="text/javascript" src="lib.js"></script>
</head>
<body onload="javascript:show_const_1('<?php echo(CONST_TEXT); ?>');
show_const_2();">
Some text here
</body>
</html>
constants.php
<?php
define('CONST_TEXT', 'Hello World');
?>
lib.js
function show_const_1(string)
{
alert(string);
}
function show_const_2()
{
alert('<?php echo(CONST_TEXT); ?>');
}
Le résultat est que lorsque la page se charge, je reçois deux boîtes de message. Le premier dit "Hello World" et le second dit "<? Php echo (CONST_TEXT);?>". La première méthode javascript fait ce que je veux, mais je vais utiliser la fonction dans de nombreux endroits sur le site et, idéalement, je ne veux pas avoir à passer la constante en tant que paramètre à chaque fois.
Existe-t-il un bon moyen de réorganiser le code pour faire fonctionner la deuxième méthode javascript?
Le type MIME de JavaScript est maintenant * application/javascript *. – Gumbo
Beaucoup de commentaires utiles - merci. Php est maintenant en cours d'exécution dans lib.php, mais la constante CONST_TEXT ne semble pas être définie dans lib.php. Le php Php echo CONST_TEXT; ?> renvoie la chaîne "CONST_TEXT" (par opposition à "Hello World"). – tttppp
Vous devez probablement inclure() quel que soit le fichier que vous définissez CONST_TEXT dans – Greg