PHP 4: Parse error: syntax error, unexpected T_OBJECT_OPERATOR
Publicado el Martes, 30 de diciembre de 2008Tras la nueva versión de List Category Posts, muchos usuarios me escribieron por comentarios y mail, informándome de un error en el plugin. El error era el siguiente:
Parse error: syntax error, unexpected T_OBJECT_OPERATOR
in /home/wp-content/plugins/list-category-osts/list_cat_posts.php on line 62
Analizando el servidor del primer usuario que lo reportó me encuentro con una versión vieja de PHP:
PHP/4.4.9
PHP 4 está descontinuado, recuerdo el año pasado hubo terrible movimiento para que los servidores de hosting migraran a PHP 5. Incluso PHP 6 está en desarrollo desde hace un tiempo (no sé hasta qué punto se encuentra estable/usable).
En la línea 62 del archivo del plugin se encontraba lo siguiente:
$output.=" - ".get_userdata($single->post_author)->user_nicename; |
PHP 4 no permite encadenar métodos, es algo de PHP 5. Para tener compatibilidad con PHP 4, tuve que guardar el retorno de get_userdata() en una variable, y hacer lo mismo en dos pasos.
¡Exigan a sus servidores de hosting que migren a PHP 5!
shakaran 30 diciembre. 2008 - 21:09
No estoy muy deacuerdo en que modificaras el código para hacerlo compatible con PHP 4.
De esta manera no se “obliga” a que el usuario se cambie a PHP 5 (en este caso el hosting).
Espero que no cometamos los mismos errores de IE con PHP. Y seamos los desarrolladores quienes decidamos y no los usuarios.
Saludos
Yo 30 diciembre. 2008 - 21:34
Si tu hosting aún no tiene PHP5, te están ROBANDO, directamente.
fernando 30 diciembre. 2008 - 21:42
shakaran:
Estoy de acuerdo. Es preferible forzar a los usuarios a migrar. Pero de todas formas el cambio fue menor, y algunos usuarios me señalaron la imposibilidad de hacer el cambio en sus servidores (servidores de clientes, etc.).
De todas formas el cambio importante tiene que venir por parte de los desarrolladores de CMS’s y demás scripts PHP importantes, para ahí sí realmente forzar la migración de una tecnología en desuso.
Saludos!
fernando 30 diciembre. 2008 - 21:45
Yo:
Mi hosting sí tiene PHP 5, por lástima no es el caso con todos los hostings…
En fin…