Cuando hablas de clase padre, das a entender que hay otra clase que extiende de ella. Si te fijas en el ejemplo de GatorV te indica primero que la clase hija hace un
extends de la clase padre. Eso hace que todos los atributos y funciones esten disponibles de la clase padre, esten ya disponibles para la clase hija. En otras palabras esto:
Código PHP:
Ver original<?php
// Foo.php
class Foo
{
public function bar()
{
//...
}
}
// Baz.php
class Baz extends Foo
{
public function candy()
{
//...
}
}
"Es como si fuera esto":
Código PHP:
Ver originalclass Baz
{
public function bar()
{
// metodo de la clase padre esta disponible en la clase hija
}
public function candy()
{
// metodo de la clase hija
}
}
Si te fijas todos los métodos (que sean protected o public) están disponibles en la clase hija como si los hubieras creado directamente.
Ahora también te colocó, que en un archivo colocó la clase padre y en otro la clase hija, luego en el lugar donde los voy a usar, colocó dos require (aunque lo aconsable es usar require_once o include_once, pero él quiso darte un ejemplo de lo que tienes hacer) y llamas las clases. Si tu lo que quieres es llamar desde la clase hija un método de la clase padre, solo tienes que hacer algo así (teniendo en cuenta el primer ejemplo)
Código PHP:
Ver original<?php
require_once 'Foo.php';
require_once 'Baz.php';
$baz = new Baz;
//Este método está en la clase padre, pero lo puedes llamar desde la clase hija así
$baz->bar();
//Este método está en la clase hija
$baz->candy();
Ahora si tu lo que quieres indicar que tienes dos clases totalmente diferente, que no guardan relación alguna (primero no le digas clase padre porque confunde), lo que haces es que creas la instancia dentro de la segunda clase y lo llamas, algo como
Código PHP:
Ver original<?php
class Foo
{
public function bar()
{
return 'bar';
}
}
class Baz
{
private $_foo;
public function __construct()
{
$this->_foo = new Foo;
}
public function candy()
{
return $this->_foo->bar();
}
}
$baz = new Baz;
echo $baz->candy();