Otra de Objetos
Rodrigo Ruiz
rruizf en gmail.com
Jue Jul 8 19:32:08 CLT 2010
El 08/07/2010 18:27, Juan Andrés Ramírez A. escribió:
> Estimados Contertulios:
> Como se estaban quejando de que la lista estaba muerta, pues bien
> les tengo otra preguntita. (Obviamente que después de buscar por google).
>
> Tengo la siguiente clase para mysql:
>
> Class BD{
> private $_host;
> private $_user;
> private $_pass;
> protected $link;
> private static $instancia; // Una propiedad para tener la instancia
> de la clase
>
>
> //FUNCION CONTRUCTOR PARA INICIALIZAR DATOS DE LA CLASE
> Private Function __construct(){
> require "config.php";
> $this->_host=$host;
> $this->_user=$user;
> $this->_pass=$pass;
> }
>
> /*SINGLETON*/
> // Desde aqui se obtiene la instancia OJO con el static
> Public static function getInstance () {
> if (!isset(self::$instancia)) {
> $obj = __CLASS__;
> self::$instancia = new $obj;
> }
> return self::$instancia;
> }
> // Para evitar la clonacion de este objeto
> private function __clone() {
> throw new Exception('No se permite clonar este objeto.');
> }
> /*FIN DEL SINGLETON
>
> //CONECCION A LA BD
> Protected Function conn(){
> $this->link=mysql_connect($this->_host, $this->_user,
> $this->_pass);
> if(!$this->link){
> die('No pudo conectarse: ' . mysql_error());
> }else{
> return $this->link;
> }
> }
> }
>
> Entonces otra Clase cualquiera para llamar a la anterior:
>
> Class Cualquiera{
>
> Private Function __construct(){}
>
> //NOS CONECTAMOS A LA BD
> $this->conn = BD::getInstance();
> }
>
> Pues bien, el error que me tira es este: syntax error, unexpected
> T_VARIABLE, expecting T_FUNCTION en la línea especifica donde esta:
> $this->conn = BD::getInstance(); y que se encuentran las 2 clases en el
> mismo archivo.php.
> [...]
Si te fijas, has abierto y cerrado la declaración de la función
inmediatamente... private function __construct() {}
--
Rodrigo Ruiz Fuentes
Más información sobre la lista de distribución PHP