No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de PHP con Composer

Curso de PHP con Composer

Profesor Italo Morales F

Profesor Italo Morales F

Autoload

15/19
Recursos

Aportes 36

Preguntas 10

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

El autoload contiene:

  • files.- Cargar archivos con helpers.
  • classmap.- Cargamos carpetas con algunas clases.
    • psr-0.- Se tiene que poner todas las rutas de las carpetas.
    • psr-4(recomendado).- Se hace enfásis solo a la carpeta principal.

Básicamente autoload.php es el archivo que contiene ya todas las clases y archivos precargados de tal forma que podemos acceder a cualquiera de sus clases/funciones usando sus nombres de espacios, etc.

Autoload


  • Files → Permite cargar una serie de archivos con helpers. Aquí conficuramos archivos ayudantes (helpers).
  • Classmap → Nos deja cargar carpetas de una manera directa carpetas que van a tener dentro de si diferentes clases.
  • Psr-0 → Ya que es más antiguo, tenemos que poner todas las rutas de las carpetas.
  • Psr-4 → Al hacer énfasis a la carpeta principal, este entiende todas las rutas dentro de sí. (remonedado)
{
    "autoload": {
        "files": [
            "src/file1.php",
            "src/file2.php"
        ],
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-0": {
            "Text\\": "src/"
        },
        "psr-4": {
            "Text\\": "src/"
        }
    }
}

Siempre que utilicemos un archivo principal como el index PHP necesitamos invocar al archivo de autoload.

Con psr-4 definimos el Namespace y la carpeta de nuestros archivos.

El comando composer dump permite desarrollar todo el sistema de composer.
Para evitar errores antes de ejecutar composer debemos crear las carpetas que contienen nuestras clases (si es el caso).
autoload.php se encarga de configurar todo internamente (generado por composer).
Siempre que se usa un archivo principal** (ej. index.php)** se necesita invocar el archivo de autoload.php.

require __DIR__ . '/vendor/autoload.php';

😃 Con composer podemos cargar elementos de forma automática, pero debemos configurar de forma correcta el autoload.

El comando composer dump-autoload nos ayuda a generar nuevamente el archivo vendor/autoload.php

Interesante no sabia el comando composer dump para ir analizando su construcción he implementación en proyectos

Se recomienda usar el estándar PSR-4 ya que es la versión más reciente y solo basta con declarar la carpeta principal, automáticamente cargará todo el árbol de carpetas dentro de la que se ha declarado

El comando dump-autoload actualiza la información del cargador automático de clases. Este comando es útil cuando añades nuevas clases y no quieres ejecutar el comando install o update.

\### Autoload con Composer El autoload en Composer es una función que te permite cargar automáticamente las clases de tu proyecto sin necesidad de requerirlas manualmente en cada archivo. Esto se logra gracias al archivo `vendor/autoload.php` generado por Composer. 1\. \*\*Definición de clases y namespaces:\*\* En tu código, defines clases y namespaces siguiendo ciertas convenciones PSR-4 (PHP Standards Recommendations). ```php // Clase definida en el archivo MyClass.php namespace MiProyecto; class MyClass { // ... } ``` 2\. \*\*Configuración del archivo `composer.json`:\*\* Debes especificar en el archivo `composer.json` los directorios y namespaces que quieres que Composer pueda cargar automáticamente. ```json { "autoload": { "psr-4": { "MiProyecto\\\\": "src/" } } } ``` Esto indica que las clases bajo el namespace `MiProyecto` se encuentran en el directorio `src/`. 3\. \*\*Ejecución del comando `composer dump-autoload`:\*\* Después de definir las clases y configurar el `composer.json`, ejecutas este comando de Composer para que genere o actualice automáticamente el archivo `vendor/autoload.php`. 4\. \*\*Uso del archivo `autoload.php`:\*\* En tus archivos PHP, simplemente incluyes o requieres el archivo `vendor/autoload.php` generado por Composer: ```php require \_\_DIR\_\_ . '/vendor/autoload.php'; ``` Una vez que este archivo está incluido, las clases definidas en los directorios especificados en `composer.json` bajo los namespaces configurados estarán disponibles automáticamente sin necesidad de requerirlas explícitamente. Este proceso hace que el trabajo con clases y namespaces sea más organizado y facilita la administración de la carga de archivos en proyectos grandes. Composer se encarga de manejar la lógica de carga automática, reduciendo la necesidad de administrar los requerimientos de archivos manualmente.

Files

La variable DIR es una constante predefinida para obtener el directorio del archivo que se está ejecutando

Muy útil este archivo de autoload

13. Autoload

En esta clase aprendimos a usar autoload de composer.

Les comparto el contenido de composer.json:

{
    "autoload": {
        "files": [
            "src/file1.php",
            "src/file2.php"
        ],
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "Text\\": "src/"
        }
    }
}

Además el de index.php:

<?php

require __DIR__ . '/vendor/autoload.php';

Siempre que empiezes con el index.php, tienes que cargar el archivo autoload.php: require __DIR__ . "vendor\autoload.php";

Para tener todo organizado, tenemos que tomar el classmap, para señalar las rutas en dónde tenemos nuestras clases y files, para los helpers.

I’m Developer PHP

excelente curso apredniendo cada vez mas

|| autoload
Es uno de los elementos del Json qué tiene el archivo principal de composer.
Genera la carga automática de archivos.
Tiene como atributos:
files que contiene un array de archivos con funciones
classmap que contiene carpetas que contienen archivos con clases.
psr-4
psr-4 Permite hacer énfasis en la carpeta principal. “nombre\”:“src/”
||| Cargar autoload en el archivo index.php
Al comienzo del archivo:
require dir.’/vendor/autoload.php’

Para generar el atributo autoload en el archivo autoload.json es importante tener en cuenta los atributos:

files.- Carga archivos como helpers y otros.
classmap.- Carga carpetas con clases como utilidades disponibles en el sistema.
psr-0.- Es un estardar en desuso puesto que para utilizarlo se debe poner las rutas de las fuentes incluyendo sus subdirectorios.
psr-4(recomendado).- mapea el nameespace principal del proyecto con la carpeta de las fuentes.

para generar el autoload se ejecuta el comando:

composer dump

para utilizar el autoload en un proyecto es necesario cargarlo en su archivo index.php de esta manera:

require FILE . “vendor/autoload.php”;

buen profe

Comando para que se desarrolle todo el sistema de composer

composer dump

Excelente

Siempre que utilicemos un archivo principal como el index.php necesitaremos invocar al archivo de autocarga.

Super interesante el auto load

Interesante el autoload

Muy útil el autoload para cargar una configuración inicial en el proyecto o estructuras de módulos.

cual es la diferencia entre composer dump y composer install?

Con esta clase quedaron resueltas mis dudas de las anteriores =)

excellent!!!

Excelente!

muy claro!

Es esta pagina encuentran las especificaciones de psr-4 y mucha mas información
https://www.php-fig.org/psr/psr-4/