Hola Luis,
Por lo que entiendo estas trabajando con symfony 2, si es asi lo que
requieres es muy sencillo gracia al uso de espacios de nombres, en
realidad soy relativamente nuevo en Symfony2, pero creo que esta es la
manera correcta, si alguien conoce una mejor soy todo oidos :D.
Dentro de tu Bundle tienes algunas carpetas,
TuBundle
-Controller
-Resources
-Test
.......
Entonces simplemente crea una carpeta adicional, por ejemplo MisClases
y dentro de ella mete todas tus clases.
Ahora cada clase al principio del archivo le agregas el espacio de
nombre, ejemplo supongamos que tienes una clases llamda Archivo
namespace NombredeTuVendor\TuBundle\MisClases;
class Archivo
{
.
.
.
}
Y haces lo mismo con todas tus clases (Fijate que en namespace no
colocas el nombre de clase)
Luego supongamos que las quieres usar en uno de tus controladores, la
mejor practica seria agregar el dicha clase con un 'use'
namespace NombredeTuVendor\TuBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
//Aquie seria un sitio ideal para agregar tu clase, fijate que aqui si
colocas el nombre de tu clases
use NombredeTuVendor\TuBundle\MisClases\Archivo;
class DefaultController extends Controller
{
public function miMetodoAction()
{
//Tu codiog aqui
//Y cuando quieras implementar tu clase, por ejemplo instanciar
puedes hacer
$variable = new Archivo();
//Listo ya tienes tu objeto disponible
}
}
Eso seria todo, si en tus controladores frecuentemente llamas muchas
de esas clases y no quieres estar añadiendo tantos uses, puedes hacer
lo siguiente (observa como le doy un alias al 'use')
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
//Aquie seria un sitio ideal para agregar tu clase, fijate que aqui si
colocas el nombre de tu clases
use NombredeTuVendor\TuBundle\MisClases\Archivo as ClasesExt;
class DefaultController extends Controller
{
public function miMetodoAction()
{
//Tu codiog aqui
//Ahora cuando quieras implementar una de tus clases, puedes
hacer lo siguiente
$variable = new ClasesExt\Archivo();
//Supongamos que tienes otra clase que esta dentro de aquella
carpeta que se llama 'OtroA'
$otraVar = new ClasesExt\OtroA();
//Listo ya tienes tu objeto disponible
}
}
Espero que esto te sirva de ayuda y no llegar tarde con la info.