Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: DownRate en 27 Octubre 2006, 18:58 PM

Título: Classes de PHP
Publicado por: DownRate en 27 Octubre 2006, 18:58 PM
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.
Título: Re: Classes de PHP
Publicado por: Thaorius en 28 Octubre 2006, 02:18 AM
__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
Título: Re: Classes de PHP
Publicado por: DownRate en 29 Octubre 2006, 00:01 AM
Tienes toda la razon, revisando la version de los servidores es PHP 4.x

Gracias y saludos.