1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

T variable error! Why?

Discussão em 'Web Development' iniciada por nopaysoft, 13 de Agosto de 2007. (Respostas: 9; Visualizações: 598)

  1. nopaysoft

    nopaysoft Power Member

    Ola

    Desculpem la...mas como iniciado tenho algumas duvidas :-D!

    Esta penso (parto desse principio) e algo simples...

    tenho no mesmo file estas varaiveis:
    Código:
     
     
    $module1 = $params->get( '1', 'slide1' );
    $textfor1 = $params->get( 'textfor1', '1' );
    
    e depois mais à frente tento puxar os dados dessas variaveis:

    Código:
     <div id="1" name="1" class="hidden">
                        <span class="titulo"><?php echo $textfor1; ?></span>
                        <span class="conteudo">
                         <?php mosLoadModules ( '.'$module1',-2 ); ?>
                         </span>
                    </div>
    e quando tento experimentar dá-me "Parse error: syntax error, unexpected T_VARIABLE in"
    apontando para a linha:
    Código:
    <?php mosLoadModules ( '.'$module1',-2 ); ?>
    Alguém me pode ajudar a tentar solucionar isto?

    Obrigado!
     
  2. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    PHP:
    <?php mosLoadModules '.'$module1',-2 ); ?>
    Isso está um pouco estranho.
    mosLoadModules é uma função, certo? É que esse ('.'$module1',-2) não me faz sentido. Quais são os argumentos que tens de passar? Não será algo como ('.', $module1, -2)? Ou ('.$module1', -2)? (neste último caso, a apóstrofe depois do teu ponto está a mais)
     
  3. xtr3me

    xtr3me Power Member

    Acho que o angelofwisdom tem razão.

    Supostamente o que tu queres é

    Código:
    <?php mosLoadModules ( '$module1',-2 ); ?>
     
  4. nopaysoft

    nopaysoft Power Member

    Sim

    Sim é uma função joomla!

    Normalmente é

    Código:
    <?php mosLoadModules ( 'user1' ,-2 ); ?>
    e tendo a variavel:

    $module1 = 'user1' (definida exteriormente)

    queria que o user1 de cima fosse essa mesma variavel
    ou seja qualquer coisa do genero:

    Código:
    <?php mosLoadModules ( '$module1' ,-2 ); ?>

    alguem me pode ajudar com o código certo para o fazer?

    Obrigado!
     
  5. xtr3me

    xtr3me Power Member

    Então e isto não funciona?

    É que isto não é a mesma coisa que tens no primeiro post (no primeiro post aparecia um ponto e uma plica a mais à beira do $module1.

    Assim devia funcionar.
     
  6. nopaysoft

    nopaysoft Power Member

    Nao dá!

    Não assim não dá porque tipo....
    se olhares para o código assim num editor vês que em vez de ficar com a cor da variavel (no meu caso (PHP Editor) verde) fica com a cor beje!
    ou seja deixa de ser considerada variavel ne?
     
  7. CrazyBomber

    CrazyBomber Power Member

    Substitui '$module1' por "$module1". Será isso que queres?
    Há uma diferença entre usar as plicas ( ' ) e as aspas ( " ). Exemplo prático:

    Exemplo1:
    $nome = "o meu nome";
    $string = 'Ah e tal, $nome';
    echo $string;

    O output é:
    Ah e tal, $nome


    Exemplo2:
    $nome = "o meu nome";
    $string = "Ah e tal, $nome";
    echo $string;

    O output é:
    Ah e tal, o meu nome


    Fácil, não? :D
     
  8. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    É isso que o CrazyBomber está a dizer. Se usas as plicas, ele não expande a variável. Ou a colocas sem as plicas, ou trocas as plicas por aspas. Mas sinceramente, se é só uma variável, eu removeria as plicas.
     
  9. nopaysoft

    nopaysoft Power Member

    Obrigado

    Bem...
    Vocês estão a ser espectaculares... a explicar isso tudo...

    e assim normalmente o codigo tem:

    'user1'

    e eu tenho:

    $variavel = 'user1'

    e queria fazer esta variavel aparecer entre as piclas (porque elas têm de lá estar (por causa do cód original...)

    Vou agora tentar assim:
    ' "$variavel" '

    porque o problema aqui é que ja no cód original tem de estar dentro das piclas :'(

    Obrigado
     
  10. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Não faças isso. Lê bem o post do CrazyBomber que está bem explícito.

    Se fizeres
    PHP:
    $nick 'nopaysoft';
    echo 
    '$nick';
    echo 
    "$nick";
    o resultado que terás será
    Há uma grande diferença entre as plicas (') e as aspas ("). Se queres manter a variável dentro duma string, usa as aspas. Mas o meu conselho é - tira as plicas. Apenas isso.

    Se queres que as plicas apareçam, usa "'$variavel'".

    edit - só mesmo para limpar dúvidas... que eu saiba, não é possível expandir uma variável que esteja dentro de plicas. Só se fizeres
    'qualquer coisa' . $variavel . 'outra coisa'
    .
     
    Última edição: 13 de Agosto de 2007

Partilhar esta Página