recuperer un variable dans une fonction

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : recuperer un variable dans une fonction

Re: recuperer un variable dans une fonction

par jeorcal » 14 juin 2010, 12:33

je viens de trouver
$GLOBALS['show_prod'] = (bool)$params->get( 'show_prod', 0 ); 

function getProd() 
{
    global $show_prod ;
    ect ....
}

Re: recuperer un variable dans une fonction

par jeorcal » 14 juin 2010, 12:10

ce que je ne comprend pas c'est qu'ici http://php.net/manual/en/language.variables.scope.php
Example #1 Using global

avec
<?php
$a = 1;
$b = 2;

function Sum()
{
    global $a, $b;

    $b = $a + $b;
} 

Sum();
echo $b;
?>
je récupère 2 et non 3
je suis en PHP Version 5.2.13

le code fonctionne mais ça doit venir deJoomla

merci pour l'aide

Re: recuperer un variable dans une fonction

par jeorcal » 14 juin 2010, 12:01

non du tout
essayes toi même

Code : Tout sélectionner

$var = 10; function displayVar() { global $var; return '<h1>$var == ' . $var . '</h1>' ; } echo displayVar();
j'obtiens $var ==

Re: recuperer un variable dans une fonction

par stealth35 » 14 juin 2010, 11:48

ma valeur est bonne a l'exterieur de la fonction, j'imagine pas que ca soit impossible en php
mais la avec le global c'est bon tu la recupere

Re: recuperer un variable dans une fonction

par jeorcal » 14 juin 2010, 11:47

ma valeur est bonne a l'exterieur de la fonction, j'imagine pas que ca soit impossible en php

Re: recuperer un variable dans une fonction

par stealth35 » 14 juin 2010, 11:33

la c'est bon, var_dump c'est juste pour faire tes tests :wink:

Re: recuperer un variable dans une fonction

par jeorcal » 14 juin 2010, 11:22

var_dump me sert pas dans ce contexte, ou je l'utilises mal, je cherche a tout régler à l'intérieur de la function

$show_prod = (bool)$params->get( 'show_prod', 0 );

function getProd()
{
global $show_prod ;

ici je dois connaitre la valeur de $show_prod
}

merci

Re: recuperer un variable dans une fonction

par stealth35 » 14 juin 2010, 11:06

non je ne suis pas dans une class

var_dump ? mais ça me donne pas de chaine de caracteres
ca te rend true ou false

si ta valeur est a true echo te rend 1
si ta valeur est a false echo te rend rien

EDIT : et t'as oublié un "s" : global $show_prod ; :wink:

je te conseil de travailler en gestion d'erreur : E_ALL | E_STRICT a reglé dans ton php.ini et ou avec error_reporting

Re: recuperer un variable dans une fonction

par jeorcal » 14 juin 2010, 11:01

non je ne suis pas dans une class

var_dump ? mais ça me donne pas de chaine de caracteres

Re: recuperer un variable dans une fonction

par stealth35 » 14 juin 2010, 10:55

t'es dans une class la ?

pour afficher ta variable de type bool ne fais pas echo mais var_dump

Re: recuperer un variable dans une fonction

par jeorcal » 14 juin 2010, 10:53

j'ai essaye mais je recuperes rien
$show_prod = (bool)$params->get( 'show_prod', 0 );
echo '*1 : ' . $show_prod;

function getProd()
{
global $how_prod ;
echo '*2 : ' . $show_prod;
if ( $show_prod ) {echo '*3 : ' . $show_prod;}
}
*1 = 1 //et c'est bon
*2 n'a aucune valeur affectée, la variable n'a pas été initialisée, même pas la valeur par défaut = 0
*3 ne s'affiche donc pas
il n'y a pas comme en .net possibilité de déclarer des private à l'intérieur d'une class où toutes les variables et properties sont accessibles par les fonctions ?

sinon j'utilise ma function comme ça >>
function getProd()
{
global $how_prod ;
$maVar = 0;
if ( $show_prod ) {$maVar = 100;}

return $maVar;
} 
et plus loin
echo getProd . '....' . getAny . '....' ;
et getProd est vide

Re: recuperer un variable dans une fonction

par stealth35 » 14 juin 2010, 10:38

non je ne peux pas faire ça (sinon je l'aurais fait) , il faut que ma fonction récupère directement la valeur du xml


merci

utilise global dans ce cas la

Re: recuperer un variable dans une fonction

par jeorcal » 14 juin 2010, 10:26

non je ne peux pas faire ça (sinon je l'aurais fait) , il faut que ma fonction récupère directement la valeur du xml


merci

Re: recuperer un variable dans une fonction

par stealth35 » 14 juin 2010, 10:11

tu le met en paramètre
getProd($show_prod)

recuperer un variable dans une fonction

par jeorcal » 14 juin 2010, 10:06

Bonjour

j'ai crée un module avec 2 fichiers : mod_monmod.php et mod_monmod.xml (fichiers de paramètres)
dans mod_monmod.xml j'ai un yes/no

dans mod_monmod.php je récupères la valeur >>
$show_prod = (bool)$params->get( 'show_prod', 0 );  //(c'est pour Joomla et ca marche)
mais comment la récupérer dans une fonction ?
function getProd() {
if $show_prod (){...}
}
ne marche pas

j'ai du mal avec la portée des variables en php (habitué à .net)

merci