Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

camilofernandesalves

[Resolvido] Classes

Recommended Posts

Gente estou estudando agora classes.

 

Veja a seguinte sintaxe;

 

classes1.php

include ("classes2.php");
 $php = new maroka;
 $php -> mensagem ();

classes2.php

class maroka
 {
	 function mensagem()
	 {
		echo "Perfeito você consseguiu!";
	 }
 }

O que acontece ele imprime a mensagem "Perfeito você consseguiu!" 2 vezes. E quando eu vo chamar a classe no classes1.php

assim;

 

$php = new maroka;

Sem a necessidade de invocar a função ($php -> mensagem(); ) ele imprime somente uma vez!

Como resolvo este problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

testei aki e imprimiu uma vez so.. normal...

 

<?php
class maroka
{
	function mensagem()
	{
	   echo "Perfeito você consseguiu!";
	}
}
$test = New maroka;
$test->mensagem();
?>

O.o sei la..

 

valww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos descobri meu problema

 

Era o seguinte pra quem tiver o mesmo

 

O nome da classe e objeto que eu coloquei aqui era diferente

 

Mais na minha aplicação não era, era o mesmo nome

 

Então o que ocorre mudei o nome da função e deu certo! Só imprimiu uma vez.

 

classe1.php

include ("classes2.php");
$test = new classe;
$test -> mensagem();

classe2.php

class classe
{
	function mensagem()
	{
		echo "Deu Certo! hehehe";
	}
}

Desculpe-me a ignorância mais nunca trabalhei com O.O.

 

heheh

 

Obrigado ae e um abraço a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

É melhor prática que o nome da classe comece em maiúsculo, e que o nome do arquivo da classe, seja o mesmo que o nome da classe.

No teu caso:

Teste.class.php

class Teste
{
	function mensagem()
	{
		return 'Deu Certo! hehehe';
	}
}
Ai instanciaria:

$obj = new Teste();

echo $obj->mensagem();

 

Mas atente, que uma função deve retornar um valor, e não imprimir.

Evite usar para nomes de classes ou variávies, palavras confusas ou possivelmente reservadas, como: "php", "classe"...

Nomeie as classes e as funções de forma mais intuitiva o possível.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só complementado, um dos motivos de trabalhar com esta forma de escrever o nome das classes assim é para poder usar a função __autoload

 

http://br.php.net/__autoload

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.