Buenas, tengo un par de dudas, aquí os las dejo a ver si me sabéis responder:
- ¿Cuándo extender una clase?
Es decir, ¿debo extender una clase siempre que necesite algún método de la otra? o ¿sólo si guardan relación?
- ¿Cómo extender una clase con varias?
Hay veces que necesito los métodos de varias clases dentro de otra clase, ¿cómo hago para extender la
clase A, con los métodos de la
clase B y la
clase C.
- ¿Cómo inserto un nuevo item en un XML que he cargado?
Es decir, tengo una clase llama
Artistas, en esa clase hay una función llamada
getImage() que consulta la API de Bing para devolver una imagen.
Lo devuelve mediante
json, yo uso json_decode y luego recorro los elementos y la función lo devuelve:
Código PHP:
return $this->img->SearchResponse->Image->Result
Luego tan sólo debo hacer esto:
Código PHP:
$img = $o->getImage();
echo $img[0]->MediaUrl;
Y muestra la URL correspondiente al item [0].
Bien, sigamos, tengo otra función llamada
getData() que devuelve los datos de otra API, esta los devuelve mediante
xml y hago esto:
Código PHP:
$this->xml = simplexml_load_file("xxx");
return $this->xml->artist;
Como veis recorro un elemento y avanzo a artist.
Bien, ahora el asunto principal, lo que quiero es insertar un item ahí, es decir,
si haces un
var_dump($this->xml->artist); te devuelve el XML con los items, por ejemplo:
object(
stdClass)[
7]
public 'Title'
=> string
'Foo Fighters | Música y Artistas' (length=33) public 'MediaUrl'
=> string
'http://www.musicaartistas.com/wp-content/uploads/data/f/foo-fighters/foo-fighters.jpg' (length=85) public 'Url'
=> string
'http://www.musicaartistas.com/musica-artistas/foo-fighters' (length=58) public 'DisplayUrl'
=> string
'http://www.musicaartistas.com/musica-artistas/foo-fighters' (length=58) public 'Width'
=> int
575 public 'Height'
=> int
450 public 'FileSize'
=> int
70129
Yo quiero añadir un item con la ruta de la imagen, es decir, algo como:
public 'image'
=> string
'RutaDeLaImagen' (length=58)
Y he probado algunas cosas pero no han funcionado, ¿tenéis alguna idea?
Un saludo y gracias!