PHP entendendo

10 respostas
V

Comecei a estudar php esses dias, mas tem umas coisas que nao entendi:

public static function profile($request, $context) { if(isset ($_SESSION['uid'])) { $context -> user = utilisateurTable::getUsers(); $context -> setSessionAttribut("loc", "profile"); $context -> setSessionAttribut("desid", $request['id']); self::preparar($context, $request); return context::SUCCESS; } else { $context -> redirect("SistemaZiac.php?action=login"); return context::NONE; } }

O que é $_SESSION, [‘uid’] (com aspas simples), “loc” (com aspas duplas) e $request[‘id’]?

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

$informacao = array(‘id’ [B]=>[/B] $chatId, ‘emetteur’ [B]=>[/B] $emetteur );

O que é => , ->, :: ???


Obrigada pessoal…

10 Respostas

drsmachado
Quando for aprender uma linguagem, estude sobre a mesma, não saia apenas fazendo CTRL + C/CTRL + V.
$a = 'teste';
É a mesma coisa que
$a = "teste";
Pois aspas simples e duplas são interpretadas como String em PHP. O operador dois pontos duplos :: (mais aqui) permite acesso a constantes. O operador -> indica que estamos acessando um atributo ou método de uma classe.
<?php

public class Teste{
    public void informaNome(){
        return "Teste";
    }
}

$teste = new Teste();
echo $teste->informaNome();
?>
Este trecho irá gerar uma saída
Teste
Quando executado. Arrays em PHP tem um comportamento específico, podem ser transformados em mapas.
$informacao = array('id' => $chatId, 'emetteur' => $emetteur );
Permite acessar os dados da seguinte forma:
echo $informacao['id'];
Que nos trará o conteúdo de $chatId.

Outro ponto, por que não usou a tag [code] para inserir os código?

Pesquisa faz bem e não tem efeitos colaterais diferentes de curiosidade e conhecimento.

V

Muito obrigada!

C

Não querendo ser chato, mas apenas corrigindo e complementando… apenas aspas duplas são interpretadas pelo php, string’s de aspas simples não são e ajudam bastante em aplicações mais complexas que usam muitas identificações como em arrays e sessões aumentando bastante a performance.

Segue exemplo da utilização dos dois:

$numero = 1;

echo 'Usando aspas simples o número é $numero<br />';

echo "Agora usando aspas duplas o número é $numero";

Interessante testarem com esse pequeno trecho de código para tirar suas conclusões.

drsmachado

cyborgninja:
drsmachado:


Pois aspas simples e duplas são interpretadas como String em PHP.

Não querendo ser chato, mas apenas corrigindo e complementando… apenas aspas duplas são interpretadas pelo php, string’s de aspas simples não são e ajudam bastante em aplicações mais complexas que usam muitas identificações como em arrays e sessões aumentando bastante a performance.

Segue exemplo da utilização dos dois:

$numero = 1;

echo 'Usando aspas simples o número é $numero<br />';

echo "Agora usando aspas duplas o número é $numero";

Interessante testarem com esse pequeno trecho de código para tirar suas conclusões.


Bom, já que você foi chato.
Que tal ler a documentação do PHP?
Pode acessar por aqui

V

muito obrigada!

V

Ola, tenho um erro que nao consegui resolver ainda:

Invalid argument supplied for foreach() in line 3

LINHA 3: <?php foreach($context -> messages as $message)

<?php foreach($context -> messages as $message) { $messageInfoAndComments = $message -> getMessageInfosAndComments(); $emetteur = $messageInfoAndComments -> getEmetteur(); $commentaires = $messageInfoAndComments -> getCommentaires(); ?>

Alguém me ajuda, obrigada

drsmachado

Pelo que entendi o PHP não está entendendo os argumentos que você está passando.
Aqui você tem umas informações.
Agora, precisa ver o que este $context->messages está retornando.

V

obrigada pelas informaçoes…
vou ver o que ele retorna!

P

Na linha 3 assim como em outras linhas do seu script, você declarou espaços entre a varíavel e suas mensagens:

...
$context -&gt; messages
...

O php não consegue entender ess sintaxe gerando erros na execução.

drsmachado

paimei:
Na linha 3 assim como em outras linhas do seu script, você declarou espaços entre a varíavel e suas mensagens:

...
$context -&gt; messages
...

O php não consegue entender ess sintaxe gerando erros na execução.


O PHP consegue interpretar os espaços entre o objeto e os atributos/métodos que estão sendo referenciados pelo operador ->

&lt;?php
class Teste{
	function getTeste(){
    	$teste = array("one", "two", "three");
		return $teste;
	}
}

$tst = new Teste();
$arr = $tst      -&gt;                               getTeste();
foreach($arr as $t){
	echo $t."<br/>";
}
?&gt;

Como eu trabalho com java e não tenho o compilador aqui, utilizei este site
O que me parece é que a variável não está sendo acessada ou não é um array ou algo assim.

Criado 19 de abril de 2013
Ultima resposta 29 de abr. de 2013
Respostas 10
Participantes 4