Básicamente, me fallaba no haber añadido el "apaño" que hace CakePHP para compatibilidad con PHP 4 de añadir la variable $name a los modelos. Es decir, en mi caso:
class RolesTarea extends AppModel {
var $name = 'RolesTarea';
...
}
El problema principal es que este tipo de fallos son muy desconcertantes. De hecho, CakePHP no conseguía siquiera mostrar un error.
5 comentarios:
This is because PHP 4 returns class names in lowercase which breaks camel-case. Cake maintains compatibility with PHP 4 by using the $name variable.
Yes, and works well for me.
My issue here is the non-informative error that throws. At first, I was convinced that it was a problem with the server itself (misconfiguration).
I finally manage to isolate the error in a call to App:import and then I saw the light.
Yo creo que lo mejor en estos casos, es programar para ambas versiones, o sea piensa en php4 y de seguro funcionara en php5 sin problemas.
Por desgracia hoy en dia no todos los servidores tienen php5 instalado, aunque esa situacion ha estado cambiando.
En fin, yo por mi parte me tomo todas esas precauciones, independiente de que en mi equipo tenga php5 y en el servidor tb, pero asi es mas facil tener que migrar.
Saludos
En mi caso particular es importante programar para 4 y 5 debido a que quiero reutilizar partes de la aplicación en diferentes sitios (alguno con 4 otros con 5).
De todos modos, lo molesto de estos errores es que al principio resultan difíciles de localizar, ya que normalmente no dan pistas sobre lo que está pasando.
Aparte, no siempre eres consciente de ellos. En este caso la clase "problema" era necesaria para modelizar una relación habtn, por lo cual apenas había escrito la declaración y las relaciones correspondientes.
Buenos días Fran,
Pues ahora estoy yo en ello, jeje. A ver cómo sale esto de subir el proyecto Cake. Menos mal que has documentado algo ;-) ¡Un saludo!
Jordi
Publicar un comentario