Instanciar clase padre en clase hija (PHP) (SOLUCIONADO)

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: akodo, maiku

Responder
Avatar de Usuario
greer
Forista Medio
Forista Medio
Mensajes: 334
Registrado: Mar Feb 27, 2007 8:00 am
Ubicación: PANAMA

Instanciar clase padre en clase hija (PHP) (SOLUCIONADO)

Mensaje por greer » Vie Jul 12, 2013 5:04 am

Hola.

Para muchos esto debe ser un bobada jajajjaa pero para mi es un problema mayor jajaja

Le explico cual es el problema...

Estoy haciendo un "sistema" y mas que un "sistema" es una necesidad, poder ver mis archivos alojados en DreamObjects (el equivalente de Amazon S3 pero de DreamHost).
es lo mismo, se puede usar las mismas librerias o clases ya desarrolladas para Amazon S3 (SDK). Lo unico que hay que cambiar es el Hostname.

Bueno el problema no es ese, pues ya lo hice, pero necesito poder cambiar las claves sin tener que ir al archivo de configuracion de SDK.

Se algo, me defiendo haciendo cosas en php (estructurado) pero haciendo clases y cosas orientadas a objetos cambia un poco las cosas (no se nada!!! jajajaja).

Hice esto, a ver si alguien me dice que disparate hice!!!

Código: Seleccionar todo

<?php

require_once 'aws-sdk/sdk.class.php';

class Coneccion extends CFRuntime
{
	private $_hostName;
	private $_accessKey;
	private $_secretKey;

	public function __construct($hostname, $accesskey, $secretkey)
	{
		parent::__construct(array('key' => $accesskey, 'secret' => $secretkey));
		$this->_hostName = $hostname;
		$this->_accessKey = $accesskey;
		$this->_secretKey = $secretkey;
	}

	private function _conectar()
	{
		$coneccion = new Coneccion(array('key' => $this->_accessKey, 'secret' => $this->_secretKey));
		$coneccion->set_hostname($this->_hostName);
		$coneccion->allow_hostname_override(false);
	}
	

}
Lo que quiero hacer y lo que necesito en estos momentos es poder agregarle al constructor de la clase de Amazon, la clase padre (CFRuntime) poder agregarle el Hostname y sus dos llaves.

Editado -- Vie Jul 12, 2013 1:00 pm --
greer escribió:Hola.

Para muchos esto debe ser un bobada jajajjaa pero para mi es un problema mayor jajaja

Le explico cual es el problema...

Estoy haciendo un "sistema" y mas que un "sistema" es una necesidad, poder ver mis archivos alojados en DreamObjects (el equivalente de Amazon S3 pero de DreamHost).
es lo mismo, se puede usar las mismas librerias o clases ya desarrolladas para Amazon S3 (SDK). Lo unico que hay que cambiar es el Hostname.

Bueno el problema no es ese, pues ya lo hice, pero necesito poder cambiar las claves sin tener que ir al archivo de configuracion de SDK.

Se algo, me defiendo haciendo cosas en php (estructurado) pero haciendo clases y cosas orientadas a objetos cambia un poco las cosas (no se nada!!! jajajaja).

Hice esto, a ver si alguien me dice que disparate hice!!!

Código: Seleccionar todo

<?php

require_once 'aws-sdk/sdk.class.php';

class Coneccion extends CFRuntime
{
	private $_hostName;
	private $_accessKey;
	private $_secretKey;

	public function __construct($hostname, $accesskey, $secretkey)
	{
		parent::__construct(array('key' => $accesskey, 'secret' => $secretkey));
		$this->_hostName = $hostname;
		$this->_accessKey = $accesskey;
		$this->_secretKey = $secretkey;
	}

	private function _conectar()
	{
		$coneccion = new Coneccion(array('key' => $this->_accessKey, 'secret' => $this->_secretKey));
		$coneccion->set_hostname($this->_hostName);
		$coneccion->allow_hostname_override(false);
	}
	

}
Lo que quiero hacer y lo que necesito en estos momentos es poder agregarle al constructor de la clase de Amazon, la clase padre (CFRuntime) poder agregarle el Hostname y sus dos llaves.
Editado -- Vie Jul 12, 2013 1:04 pm --

Al final de todo pude solucionar mi problema cambiando el contexto de la situación.

Código: Seleccionar todo

<?php

require_once 'aws-sdk/sdk.class.php';

class CloudFiles
{
	private $_hostName;
	private $_accessKey;
	private $_secretKey;

	public function __construct($hostname, $accesskey, $secretkey)
	{
		$this->_hostName = $hostname;
		$this->_accessKey = $accesskey;
		$this->_secretKey = $secretkey;
	}

	private function _coneccion()
	{
		$coneccion = new AmazonS3(array('key' => $this->_accessKey, 'secret' => $this->_secretKey));
		$coneccion->set_hostname($this->_hostName);
		$coneccion->allow_hostname_override(false);

		return $coneccion;
	}

	public function conector()
	{
		return $this->_coneccion();
	}
}
Pero igual seria bueno saber como instanciar una clase padre dentro de una clase hija....

Saludos.
http://greermurray.com
Avatar de Usuario
doc
Forista Ancestral
Forista Ancestral
Mensajes: 3277
Registrado: Mié Ago 11, 2010 10:32 am
Ubicación: Oviedo-es_ES
Contactar:

Re: Instanciar clase padre en clase hija (PHP) (SOLUCIONADO)

Mensaje por doc » Vie Jul 12, 2013 9:57 am

y también sería bueno que, si te auto-contestas, no te cites, que haces el post kilométrico...
Avatar de Usuario
greer
Forista Medio
Forista Medio
Mensajes: 334
Registrado: Mar Feb 27, 2007 8:00 am
Ubicación: PANAMA

Re: Instanciar clase padre en clase hija (PHP) (SOLUCIONADO)

Mensaje por greer » Sab Jul 13, 2013 1:28 am

Si seria bueno... jejeje fue un error mio, cuando quise publicar la solución a mi problema, sin quere edite y no publique una nueva respuesta, cuando me di cuenta no pude borrarlo o no se donde.

si hay algun moderador que me ayude a borrar mi cita sin respuesta, seria perfecto.

gracias doc, para la proxima tendre mas cuidado.

Saludos.
http://greermurray.com
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje