salmaox 0 Denunciar post Postado Janeiro 20, 2009 Bom dia Pessoal é o seguinte estou usando PHP O.O e sempre que preciso criar um objeto de uma outra classe faz-se necessário colocar um include "arquivo.class.php", só que às vezes ele diz que Fatal error: Cannot redeclare class conecta in /include/conecta.class.php on line 2 ou seja que não posso redeclarar a classe!!! como posso fazer então pra criar esse objeto? obrigado Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Janeiro 20, 2009 mude o nome.. Compartilhar este post Link para o post Compartilhar em outros sites
salmaox 0 Denunciar post Postado Janeiro 20, 2009 não entendi...desculpa Compartilhar este post Link para o post Compartilhar em outros sites
Corradi 0 Denunciar post Postado Janeiro 20, 2009 Você também usar a função autoload. Você coloca as classes em uma pasta, e na página você coloca a instrução de autoload. Desta forma você não precisa usar include para suas classes, o próprio php se encarrega disso. function __autoload($class) { @require_once("Classes/".$class.".class.php"); } Compartilhar este post Link para o post Compartilhar em outros sites
Tash 5 Denunciar post Postado Janeiro 20, 2009 ao invés de include 'caminho/do/arquivo.php'; use require_once 'caminho/do/arquivo.php'; E leia os links: http://br.php.net/include http://br.php.net/include_once http://br.php.net/require http://br.php.net/require_once Compartilhar este post Link para o post Compartilhar em outros sites
salmaox 0 Denunciar post Postado Janeiro 20, 2009 essa função __autoload é só para o php 5?? minha versão é 4.4.6 com require_once não dá!!!! Compartilhar este post Link para o post Compartilhar em outros sites
Corradi 0 Denunciar post Postado Janeiro 20, 2009 Foi mal, essa função é para o PHP 5 mesmo. Vou pesquisar mais, se achar algo posto novamente. Compartilhar este post Link para o post Compartilhar em outros sites
salmaox 0 Denunciar post Postado Janeiro 20, 2009 Obrigado assim mesmo Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Janeiro 21, 2009 mude o nome da classe.. Compartilhar este post Link para o post Compartilhar em outros sites
KUROL3 3 Denunciar post Postado Janeiro 21, 2009 ao invés de include (incluir) utilize include_once (incluir apenas uma vez) ai você nao vai redeclarar a classe.. KUROLE Compartilhar este post Link para o post Compartilhar em outros sites
OoDragooNoO 0 Denunciar post Postado Janeiro 21, 2009 caso queira, eu fiz um tutorial ensinando a diferença entre as principais funçoes de inclusao que te pode ser util ;) em todo caso, utilize ou include_once ou require_once para nao ter esses problemas :D referencia das funçoes: require_once : http://br.php.net/manual/pt_BR/function.require-once.php include_once : http://br.php.net/manual/pt_BR/function.include-once.php flw xD/ Compartilhar este post Link para o post Compartilhar em outros sites
salmaox 0 Denunciar post Postado Janeiro 21, 2009 com include_once ou require_once não adiantou!!! :( Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Janeiro 22, 2009 Não use require_once, pois usa mais memória do servidor do que ambos os outros métodos, faça o que o hinom disse, mude o nome da class para ver no que da. Compartilhar este post Link para o post Compartilhar em outros sites
OoDragooNoO 0 Denunciar post Postado Janeiro 22, 2009 outra saida seria tu organizar os teus includes e apenas incluir as classes em um unico arquivo, assim tu nao teria problemas de redeclaraçao de includes :D Alaerte, a funçao "(require | include)_once" nao utiliza mais memoria, e sim mais processamento, pois ela precisa verificar se o arquivo jah nao foi incluso flw xD/ Compartilhar este post Link para o post Compartilhar em outros sites
salmaox 0 Denunciar post Postado Janeiro 30, 2009 Pessoal desculpa a demora pra responder!!!! Excelente dica. reorganizei todos meus métodos numa classe DAO e ficou perfect Obrigado a todos pela ajuda Compartilhar este post Link para o post Compartilhar em outros sites