Ir para o conteúdo
Zeux

PHP5 -> PHP4

Mensagens Recomendadas

Zeux    0
Zeux

Boas Pessoal

Ando a desenvolver um website e pela primeira vez introduzime a usar POO em php, logo fiz quase tudo segundo as normas PHP5. Estou tambem a usar uma framework desenvolvida por um colega meu que está a funcionar a 100% localmente (PHP5)

Agora tinha chegado a altura de testar as coisas online, só que quando vou a ver o servidor tem php4  :wallbash:

Tenho estado a tentar converter tudo para php4 mas dáme sempre alguns erros, agora está a dar este:

Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /home/hspecas/public_html/teste1/framework/SQL/Table.class.php on line 90

A linha 90 tem o seguinte código:

StringType::getInstance()->validateType("tableName",$tableName);

Alguem me consegue dar uma ajudita ?

(Tenho de ver se pressiono os gajos do webhosting a porem php5, é que programar em php4 é muito mau  :mad:)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

Epa... assim olhando para o nome das tuas funções isso parece-me um contrasenso.

O operador :: serve para acederes a métodos de classes que ainda não têm um objecto, mas acabas por chamar uma função getinstance()

Mas mas isso tema ver com o teu código e não é muito o que esa aqui em causa.

Essa mensagem de erro é dada porque StringType::getInstance() não está a devolver um objecto, logo não podes usar a seta ( -> )

Porque é que não está a devolver um objecto, isso já depende do conteudo da função getInstance.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Zeux    0
Zeux

Pois, sei que está para morrer, o problema é o servidor ainda só ter php4  :rant_01:

Quanto ao código ainda não analizei tudo ao pormenor, mas sei que funciona.

Acho que já descobri maneira de dar volta aos erros, o problema é estar a usar muitas ->, pelos vistos no php4 só se pode chamar uma função de um objecto e não chamar a função de um objecto que foi devolvido por outra função

Se meter o seguinte código já não dá erro:

$aux = StringType::getInstance();
$aux->validateType("tableName",$tableName);

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Zeux    0
Zeux

Muito obrigado pelas vossas respostas

Ontem telefonei para a empresa de alojamento e migraram-me para php5  :biggrin:

djthyrax: neste momento já tou no server php5, mas daqui a bocado se tiver um tempito já vou experimentar noutro server que tenho em php4 para ver se isso resolvia o problema :D

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
MX+    0
MX+

Method Chaining e apareceu com o PHP5: http://www.talkphp.com/advanced-php-programming/1163-php5-method-chaining.html

Epa... assim olhando para o nome das tuas funções isso parece-me um contrasenso.

O operador :: serve para acederes a métodos de classes que ainda não têm um objecto, mas acabas por chamar uma função getinstance()

É uma utilização simples do padrão Singleton.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade