Buenas, estaba probando una clase muy simple escrita en php, en varios servidores (bluehost, globat), el problema es que no funciona?... el ejemplo lo saque de un libro asi que no creo que este mal, alguien sabe porque no funciona?...
Esta es la clase:
<?php
# Recipe 2-1
class Bird
{
function __construct($name, $breed)
{
$this->name = $name;
$this->breed = $breed;
}
}
$tweety = new Bird('Tweety', 'canary');
printf("<p>%s is a %s.</p>\n", $tweety->name, $tweety->breed);
$tweety->price = 24.95;
printf("<p>%s is a %s, and costs \$%.2f.</p>\n",
$tweety->name, $tweety->breed, $tweety->price);
?>
Asi de simple, lo guardo como "index.php" y no marca ningun error, simplemente no imprime las variables $tweety->name, $tweety->breed, pero si imprime $tweety->price.
Tambien hice una prueba local en mi PC y funciona perfectamente, solo que en los servidores de las compañias que menciono no.
Sera por algun parametro de configuración?
Sera alguna incompatibilidad con la version de PHP?
Gracias por su ayuda.
__construct() fue implementado en PHP5, lo debes estar probando en un servidor con PHP4. en PHP4, el constructor es una funcion con el mismo nombre que la clase, te quedaria haci:
<?php
# Recipe 2-1
class Bird
{
function Bird($name, $breed)
{
$this->name = $name;
$this->breed = $breed;
}
}
$tweety = new Bird('Tweety', 'canary');
printf("<p>%s is a %s.</p>\n", $tweety->name, $tweety->breed);
$tweety->price = 24.95;
printf("<p>%s is a %s, and costs \$%.2f.</p>\n",
$tweety->name, $tweety->breed, $tweety->price);
?>
Saludos
Tienes toda la razon, revisando la version de los servidores es PHP 4.x
Gracias y saludos.