Post Top Ad

Your Ad Spot

jueves, 7 de mayo de 2020

Probar paquetes de composer localmente

Al desarrollar un nuevo paquete de compositor, querrá probarlo localmente antes de cargarlo en Packagist.
Primero cree un archivo composer.json para su paquete, aquí hay un ejemplo, la parte importante es la carga automática psr-4 que establece la ruta del espacio de nombres y, en segundo lugar, la ruta de origen relativa.
{
    "name": "name of the package",
    "description": "short description",
    "autoload": {
        "psr-4": {
            "Daveismyname\\PdoWrapper\\": "/src"
        }
    },
    "minimum-stability": "dev"
}
El ejemplo anterior se cargará automáticamente desde una carpeta src, para este ejemplo tengo una clase de base de datos almacenada en un espacio de nombres de Daveismyname \ PdoWrapper que coincide con la ruta en composer.json
<?php
namespace Daveismyname\PdoWrapper;

use PDO;

class Database extends PDO
{

}
Ahora, para usar esto, se importaría el espacio de nombres y luego se podría llamar a la clase.
require('vendor/autoload.php');

use Daveismyname\PdoWrapper\Database;

$db = new Database();
Hasta ahora, este es el proceso de inicio para crear un paquete, pero para probarlo realmente se requiere otro proyecto.
Cree una carpeta para ejecutar esto idealmente en la carpeta principal para que tanto la carpeta del proyecto como la carpeta del paquete estén en el mismo nivel.
Luego, cree un archivo composer.json, agregue el nombre del proveedor / paquete que necesita y cargue automáticamente, para que funcione, agregue una matriz de repositorios y pase la ruta local al paquete. Esto permite al compositor cargar el paquete desde el sistema de archivos local en lugar de desde Packagist.
{
    "name": "dc/demo",
    "description": "",
    "require": {
        "daveismyname/pdo-wrapper": "@dev"
    },
      "autoload": {
        "psr-4": {
          "Daveismyname\\PdoWrapper\\": "src/"
        }
    },
    "repositories": [
        {
          "type": "path",
          "url": "../pdo-wrapper-master"
        }
    ]
}
Ejecute la instalación del compositor
Ahora la clase se puede usar como cualquier otra, por ejemplo:
require('vendor/autoload.php');

use Daveismyname\PdoWrapper\Database;

$db = Database();

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

outbrain

Páginas