Problemas com components e behaviors e com controllers e models passados por referencia

0 views
Skip to first unread message

Brummm

unread,
Oct 30, 2009, 11:48:15 AM10/30/09
to CakePHP Tuga
Sou novo no cake mas programo há muito tempo com php orientado a
objetos.

Acabei de finalizar meu primeiro site em cake e está rodando 100% no
servidor local aqui da empresa e no servidor on-line. No entanto, o
cliente tem um servidor próprio onde, adivinhem, o site nao roda
direito.

O problema surgiu nos components e nos behaviors que parecem nao
receber controllers ( startup(&$controller) ) e models ( setup(&
$model) ) por referencia e não alteram valores no controller/model
original e nem conseguem ver os valores setados depois que o parametro
foi passado. Ou seja, o que parece estar acontecendo é que a instancia
da classe está sendo duplicada e não passada por referencia.

Alguem sabe o que pode ser? Alguma config do php? Não faço ideia...

A versão do php do servidor deles é a 5.2.6



Desde já, agradeço

Brummm

unread,
Nov 6, 2009, 5:17:56 AM11/6/09
to CakePHP Tuga
Ninguém? :(

Gabriel Gilini

unread,
Nov 6, 2009, 5:30:47 AM11/6/09
to cakep...@googlegroups.com
Impossível o PHP estar fazendo uma cópia da instância, a partir do PHP
5 variáveis de objetos não contém o próprio objeto, mas sim um
identificador que vai permitir que o objeto seja encontrado pelos
acessores[1]. Então esse parâmetro sendo recebido por referência está
aí meramente para manter compatibilidade com PHP4.

A única forma de clonar um objeto em PHP5 é utilizando o operador `clone':

$copia = clone $objeto;

Então acho que seu problema não é exatamente esse. Eu diria pra ver
qual versão do Cake está rodando no servidor, e atualizá-la se for o
caso.

2009/11/6 Brummm <roger...@gmail.com>:
--
Gabriel Gilini

www.usosim.com.br
gab...@usosim.com.br

Rogério Brum Hermany

unread,
Nov 6, 2009, 8:43:55 AM11/6/09
to cakep...@googlegroups.com
A versão do cake é a mais nova (1.2.5).

O estranho é rodar em dois servidores e nesse não. Por isso imagino
ser alguma configuração do php e não problema com o código.

2009/11/6 Gabriel Gilini <gab...@usosim.com.br>:

Gabriel Gilini

unread,
Nov 6, 2009, 9:04:03 AM11/6/09
to cakep...@googlegroups.com
Hmm, estranho mesmo, se tem alguma config pra isso não conheço :/

2009/11/6 Rogério Brum Hermany <roger...@gmail.com>:

Juan Basso

unread,
Nov 6, 2009, 3:32:35 PM11/6/09
to CakePHP Tuga
Copia o php.ini de uma máquina que funcione pra uma que não funciona.
Restarta o apache e ve se funciona... se funcionar, faz um diff das
configs...

Todo mundo fala mal da tentativa e erro, mas no final a gente sempre
apela pra ele e ela resolve :)


Juan Basso

On 6 nov, 12:04, Gabriel Gilini <gabr...@usosim.com.br> wrote:
> Hmm, estranho mesmo, se tem alguma config pra isso não conheço :/
>
> 2009/11/6 Rogério Brum Hermany <rogeriob...@gmail.com>:
>
>
>
>
>
>
>
> > A versão do cake é a mais nova (1.2.5).
>
> > O estranho é rodar em dois servidores e nesse não. Por isso imagino
> > ser alguma configuração do php e não problema com o código.
>
> > 2009/11/6 Gabriel Gilini <gabr...@usosim.com.br>:
>
> >> Impossível o PHP estar fazendo uma cópia da instância, a partir do PHP
> >> 5 variáveis de objetos não contém o próprio objeto, mas sim um
> >> identificador que vai permitir que o objeto seja encontrado pelos
> >> acessores[1]. Então esse parâmetro sendo recebido por referência está
> >> aí meramente para manter compatibilidade com PHP4.
>
> >> A única forma de clonar um objeto em PHP5 é utilizando o operador `clone':
>
> >> $copia = clone $objeto;
>
> >> Então acho que seu problema não é exatamente esse. Eu diria pra ver
> >> qual versão do Cake está rodando no servidor, e atualizá-la se for o
> >> caso.
>
> >> 2009/11/6 Brummm <rogeriob...@gmail.com>:
>
> >>> Ninguém? :(
>
> >>> On 30 out, 12:48, Brummm <rogeriob...@gmail.com> wrote:
> >>>> Sou novo no cake mas programo há muito tempo com php orientado a
> >>>> objetos.
>
> >>>> Acabei de finalizar meu primeiro site em cake e está rodando 100% no
> >>>> servidor local aqui da empresa e no servidor on-line. No entanto, o
> >>>> cliente tem um servidor próprio onde, adivinhem, o site nao roda
> >>>> direito.
>
> >>>> O problema surgiu nos components e nos behaviors que parecem nao
> >>>> receber controllers ( startup(&$controller) ) e models ( setup(&
> >>>> $model) ) por referencia e não alteram valores no controller/model
> >>>> original e nem conseguem ver os valores setados depois que o parametro
> >>>> foi passado. Ou seja, o que parece estar acontecendo é que a instancia
> >>>> da classe está sendo duplicada e não passada por referencia.
>
> >>>> Alguem sabe o que pode ser? Alguma config do php? Não faço ideia...
>
> >>>> A versão do php do servidor deles é a 5.2.6
>
> >>>> Desde já, agradeço
>
> >> --
> >> Gabriel Gilini
>
> >>www.usosim.com.br
> >> gabr...@usosim.com.br
>
> --
> Gabriel Gilini
>
> www.usosim.com.br
> gabr...@usosim.com.br- Ocultar texto das mensagens anteriores -
>
> - Mostrar texto das mensagens anteriores -

Rogério Brum Hermany

unread,
Nov 6, 2009, 6:30:33 PM11/6/09
to cakep...@googlegroups.com
Pois é. Não tava muito a fim de fazer isso, mas acho que é o jeito.

Sabe como é, né? Servidor de cliente onde tem "o cara da TI" cuidando.
Normalmente anti-social, sem namorada. Vai falar mal de mim de
madrugada qdo estiver jogando qq coisa on-line com os 'amigos'...

Mas vou tentar isso na segunda e posto os resultados pra conhecimento geral.

Abraço e bom final de semana.

PS.: se você é anti-social, não tem namorada e fica jogando qq coisa
on-line de madrugada, não se irrite comigo. Get a life ;)



2009/11/6 Juan Basso <jrb...@gmail.com>:

Gabriel Gilini

unread,
Nov 6, 2009, 6:49:21 PM11/6/09
to cakep...@googlegroups.com
hahahahaha
isso me lembra de um amigo que não sei porque diabos resolveu compilar
o PHP com a flag --disable-tokenizer
um belo dia uma biblioteca que precisávamos começou a dar pau, até
descobrir que o maldito tokenizer tava desabilitado foi tempo

2009/11/6 Rogério Brum Hermany <roger...@gmail.com>:
>
Reply all
Reply to author
Forward
0 new messages