php 7 psr-4

 en nuestro proyecto creamos una carpeta llamada donde estaran todas nuestras clases, por ejemplo una llamada:

MiApp

adentro de esta irian bajo carpetas las de nuestra aplicacion, crearemos una por ejemplo, una llamada:

Helpers

dentro vamos a crear la clase Prueba.php:

<?php
namespace MiApp\Helpers;

class Prueba{
function __construct(){
echo 'prueba';
}
}

en la raiz del proyecto ahora vamos a crear el archivo composer.json :

{
"name":"mipaquete/isra-app",
"autoload": {
"psr-4": {
"MiApp\\":"MiApp/"
}
},
"description": "blablabla"
}

donde le decimos que

"MiApp\\":"MiApp/"

todo los archivos que estàn en la carpeta MiApp/ 

deben tener el namespace empezando en MiApp\

luego, ejecutamos:

sudo composer dump-autoload

(lo ejecuto como sudo porque va a necesitar permisos para creacion de carpetas)

este comando va a crear la carpeta "vendor" y unos cuantos archivos dentro de èl donde el importante es uno llamado autolad.php


y listo!

por ejemplo si tenemos un archivo index.php en la raiz del proyecto 

podemos instanciar a la clase prueba asi:


<?php
require_once "vendor/autoload.php";

use MiApp\Helpers\Prueba;

new Prueba();

lalalala

nota:
si tuviesemos otra clase en la carpeta MiApp/Helpers y la quisieramos usar;
podriamos agregar una nueva linea de "use..." o referenciarla asi:

use MiApp\Helper\{Test,OtroTest};

No hay comentarios:

Publicar un comentario

linux ubuntu mint actualizar chrome

 desde una terminal: $ sudo apt update $ sudo apt install google-chrome-stable