Esto es realmente muy simple. Excluir el directorio de proveedores de su repositorio es el enfoque correcto. Su código debe almacenarse en un lugar separado (como src).
utilizar la propiedad autoload para hacer que el compositor reconoce el espacio de nombres (s):
{
"autoload": {
"psr-4": {
"Acme\\": "src/"
}
}
}
Asumiendo que tiene nombres de las clases siguientes de la norma PSR-4, que debería funcionar. A continuación algunos ejemplos de nombres de clases y sus ubicaciones en el sistema de archivos:
- Acme \ Command \ HelloCommand -> src/Comando/HelloCommand.php
- Acme \ Form \ Type \ EmployeeType -> src/Formulario/Tipo/EmployeeType.php
Recuerde definir un espacio de nombres para cada clase. Aquí está un ejemplo de Acme \ Command \ HelloCommand:
<?php
namespace Acme\Command;
class HelloCommand
{
}
No se olvide de incluir el cargador automático de los controladores PHP:
<?php
require 'vendor/autoload.php';
Leer más en PSR-4 standard on PHP Framework Interoperability Group.
Tenga en cuenta que si edita composer.json
, debe ejecutar instalar, actualizar o dump-autoload para actualizar las rutas de clases del autocargador.
¿Alguna posibilidad de que publique actualizar la respuesta con ejemplos de código simple con una clase ficticia o dos? A pesar de leer la documentación a la que vinculó y comparar mi directorio/espacio de nombres con los utilizados en el proveedor /, no puedo cargar mis clases. – Letharion
@Letharion actualizó mi respuesta, con suerte esto ayudará. –