Lorsque j'inclus un script PHP via Jumi, il semble rompre le mot-clé global
. Exemple:Jumi (plugin Joomla) briser mot-clé PHP global
<?php
$a = 5;
function foo()
{
global $a;
if (isset($a))
echo $a;
else
echo '$a is not set';
}
foo();
?>
Quand je lance ce script PHP (nommé test.php) par lui-même, il imprime correctement 5
. Lorsque je le lance inclus via Jumi dans un article Joomla contenant uniquement ceci:
{jumi test.php}{/jumi}
Il imprime $a is not set
.
Est-ce un bug dans Jumi ou Joomla, ou y a-t-il un moyen (non) documenté de le contourner?
Lorsque j'inclus un script PHP via Jumi, il semble rompre le mot-clé global
. Exemple:
<?php
$a = 5;
function foo()
{
global $a;
if (isset($a))
echo $a;
else
echo '$a is not set';
}
foo();
?>
Quand je lance ce script PHP (nommé test.php) par lui-même, il imprime correctement 5
. Lorsque je le lance inclus via Jumi dans un article Joomla contenant uniquement ceci:
{jumi test.php}{/jumi}
Il imprime $a is not set
.
Est-ce un bug dans Jumi ou Joomla, ou y a-t-il un moyen (non) documenté de le contourner?
MISE À JOUR: Si je marque un $ comme mondial dans le cadre en haut du script:
<?php
global $a;
$a = 5;
function foo()
{
global $a;
if (isset($a))
echo $a;
else
echo '$a is not set';
}
foo();
?>
test.php fonctionne correctement à la fois géré par lui-même et inclus via Jumi. Ma meilleure estimation est que les scripts Jumi sont inclus dans le contexte de la fonction, pas dans le contexte global.
Votre solution global-at-top ne fonctionne pas pour moi (J1.5/jumi 1.2.0) :( –
Le marquez-vous globalement à l'intérieur et à l'extérieur? –