¿Qué es Composer y por qué es crucial en el desarrollo PHP?
Composer ha revolucionado el desarrollo con PHP, profesionalizando la gestión de paquetes dentro de los proyectos. Esta herramienta elimina la necesidad de buscar componentes en línea, permitiendo a los desarrolladores instalar fácilmente lo que necesitan directamente en sus proyectos. A través de su archivo composer.json, se define información esencial como el nombre del programador y las dependencias requeridas por el proyecto. Composer permite la autoloading, facilitando la carga automática de paquetes necesarios al iniciar el sistema.
¿Cómo iniciar con Composer en tu proyecto?
Para comenzar tu viaje con Composer, lo primero es crear un archivo composer.json y definir la configuración básica del proyecto:
name: Especifica el proveedor y el nombre del paquete.
autoload: Utiliza el estándar PSR-4 para gestionar la autoloading del proyecto. En este caso, todo lo que haga referencia a Text apuntará a una carpeta src.
files: Incluye scripts PHP que requieran ser cargados automáticamente.
¿Cómo configurar una clase en Composer?
Una vez configurado composer.json, puedes crear clases que hagan uso de esta configuración:
Crea un archivo en src llamado Format.php.
Define la clase con el name space y método deseado.
Con este setup, puedes llamar a las funciones definidas y mantener una estructura organizada de tu proyecto. El sistema autoloading de Composer gestiona las dependencias, permitiendo una expansión modular de tu aplicación sin complicaciones.
Recomendaciones y mejores prácticas
Simplicidad y organización: Mantén el composer.json claro y bien estructurado para facilitar futuras actualizaciones.
Versionado y control de dependencias: Utiliza Composer para manejar versiones específicas de paquetes y asegura la estabilidad de tu proyecto.
Apoyo comunitario: Composer tiene una comunidad amplia y activa. Aprovecha los recursos y foros online para aprender más y resolver problemas.
Así es cómo Composer profesionaliza el desarrollo en PHP, simplificando la gestión de paquetes y mejorando la estructura de tu código. ¡Sigue explorando y perfeccionando tu conocimiento en esta herramienta esencial!
COMPOSER es a php lo que NPM es a Javascrip, un gestor de dependencias a traves del cual puedes decargar librerias de toda la comunidad PHP
Excelente buena, me sirvió aun no veo el vídeo pero con esto ya se hacia donde se dirige.
Gracias, me ha quedado más claro
Si no entendieron nada de esta clase, porque nunca vieron algo de backend (como yo)... no se desanimen !!! Casi final del curso explica bien en detalle cada parte y terminas comprendiendo todo
Es la cuarta vez que la estoy mirando y sigo pensando que hay bases que no se y debería saber para comprender la clase jajajajaa gracias por el comentario, me das esperanza
Tomé todo el curso y me regrese a repasar esta clase y efectivamente, durante cada video se explica de forma muy clara el funcionamiento de Composer.
Para los que tengan dudas sobre la clase:
En php se puede agregar archivos "importandolos" usando las directivas require, require_once, include, etc.
Si trabajamos asi nos topamos con grandes cantidades de lineas require conforme el proyecto crezca.
composer es una herramienta que permite la "autocarga", quiere decir que me evito agregar la directiva require y otras para importar archivos.
Composer require de un archivo de configuracion para saber que archivos "autocargar", este archivo es composer.json
el archivo composer.json es un objeto de javascript donde defino la estructura de mis archivos, nada mas no hay porque temerle.
los namespace son espacios para una clase, asi por tanto aunque tenga dos clases que tengan el mismo nombre el namespace es como "el apellido" para que estas nunca colisionen por el nombre.
hay muchos mas detalles y comandos que permiten generar estos archivos pero en la realidad muchos proyectos los comienzas con una base un "framework" que normalmente ya trae un archivo configurado el cual en raras ocasiones modificamos.
es bueno aprender sobre composer ya que la gestion de paquetes hoy en dia es por linea de comandos, los comandos realizan los cambios en el archivo composer.json por nosotros, asi que no hay nada que temer, nadie profesional memoriza todo, solo conforme mas lo haces mas te familiarizas, pero no saber todo ni memorizarlo a la primera esta bien, de hecho realmente lo aprendes con forme la practica.
si estas comenzando el mundo de PHP animo! es un gran lenguaje con mucha salida laboral y un gran paso.
los puntos 2, 3, 4 y 6 son de super ayuda. Gracias 👍
Que gran resumen gracias
Englobando el resto de comentarios, destaco estas definiciones para tratar de dejar claro los conceptos para quienes no tenemos idea de nada aún:
Composer es una herramienta que profesionalizo la forma en la que trabajamos en PHP, es esa herramienta que instalamos en nuestro proyecto que nos ayuda a gestionar los paquetes que utilizaremos en el mismo.
Composer no es un administrador de paquetes en el mismo sentido que Yum o Apt. Sí, se ocupa de “paquetes” o bibliotecas, ++pero los gestiona por proyecto, instalándolos en un directorio (por ejemplo vendor) dentro de su proyecto++. De forma predeterminada, no instala nada globalmente.
El psr-4 es un estándar que básicamente maneja los nombres de espacio de un código haciendo alusión a la ruta en la que se encuentran. Los nombres de espacio son, en resumen, como el apellido de nuestras clases, por ejemplo, ++puedo tener dos clases llamadas “Format”, pero puedo tener una en nombres de espacios diferentes, y usar ambas en el mismo código, de esa manera, PHP sabe cuál de las dos clases quieres usar.++
Una vez que termina de descargar los paquetes los coloca dentro de una carpeta llamada vendor que está definida en nuestro archivo composer.json. Composer es capaz de ++instalar los paquetes que necesitas para tu proyecto con las versiones que necesites y además se encarga de todas las dependencias que se necesiten++, quitándonos el dolor de tener que hacer esto manualmente y mantenerlo todo actualizado. NO DEBES TOCAR NADA QUE ESTÉ EN VENDOR.
Excelente aporte
vengo del futuro, si sos nuevo en este mundo, SE QUE NO ENTENDES NADA O NO TE ANDA COMPOSER. Segui el curso, que en dos o tres clases lo explica mas simple y en detalle y haces que ande.
Gracias de corazon-
Gracias, ya estaba viendo como hacer andar COMPOSER.
No entendí casi nada de esta clase 😕
Más adelante hay más expliaciones sobre composer, no te preocupes si no le entiendes en un inicio
bienvenido a mi mundo, no pensé que fuera tan complicado
Si eres nuevo en el backend y no comprendiste muchas cosas o te salian errores aquí dejo mi aporte :) espero sea de ayuda.
Tienes que tener XAMPP instalado e iniciado, para simular un servidor local.
 en mi caso la llamé PHP.
Dentro de PHP es donde vas a estar creando los achivos que vaya haciendo el profesor.

"autoload" : { (eso está mal)
Recuerda que Apache ya debe estar encendido ;)
tu carpeta con index deberá de verse así:

Muy buen y detallado resumen
Cualquiera deberia poder seguir esas instrucciones
El psr-4 es un estándar que básicamente maneja los nombres de espacio de un código haciendo alusión a la ruta en la que se encuentran.
Los nombres de espacio son, en resumen, como el apellido de nuestras clases, por ejemplo, puedo tener dos clases llamadas "Format", pero puedo tener una en nombres de espacios diferentes, y usar ambas en el mismo código, de esa manera, PHP sabe cuál de las dos clases quieres usar.
a ti si te entiendo muy bien:(
No entiendo nada de esta clase, ahahaha
es como el pip del python pero para php ,aqui explican como funciona desde 0
Composer es un gestor de dependencias que genera un composer.json, el cual tiene la configuración de cada una de esas dependencias php.
Mi paso a paso que explica este video es el siguiente
Paso 1: Crear composer.json
{"name":"devitm/paquete-desarrollado","description":"un pequeño aporte para alumnos de Platzi con mucho amor <3","authors":[{"name":"Marco Aspeitia","email":"contacto@devitm.com"}],"require":{"php":">=5.5.0"},"autoload":{"psr-4":{"SumaDosNumeros\\":"src/"},"files":["src/helpers.php"]}}
Paso 2: en terminal ingresar
composer dump
Cuando hacemos esto se generan los archivos de configuración de composer en nuestro proyecto y es ahí cuando podemos usar los paquetes que se definieron en él
Paso 3: Crear Format.php dentro del directorio src
<?php
/**
* Si han usado JAVA como lenguaje de programación esta explicación les va a ayudar
* un namespace es un paquete, pero, en php no se llaman package se llaman namespace
* este paquete (por decirle de una forma) se manda a llamar siempre y cuando composer
* lo haya instanciado en el autoload_psr4.php según este ejemplo
*/namespace SumaDosNumeros;/**
* Nombre de la clase siempre se tiene que llamar igual al nombre del archivo donde nos encontramos
**/classFormat{/**
* Función con el modificador de acceso público que va a ser llamada en helpers.php
* Esta función recibe dos parametros (variables que requiere la funcion para funcionar XD)
*/publicfunctionsumita($numero1, $numero2){return $numero1 + $numero2;}}
Paso 4: crear helpers.php dentro del directorio src
<?php
//esta función tiene un nombre personalizado, la pueden llamar como quieranfunctionsumaDosNumeros($numero1, $numero2){/**
* ¿ Se acuerdan del archivo composer.json ? Ahí se definió en el autoload un campo llamado psr-4
* en ese campo se agregó el nombre del namespace SumaDosNumeros, este nameapace se ocupa en
* el archivo Format.php, éste último archivo tiene una clase llamada Format y accedemos a su función
* sumita() con el operador de resolución "::"
*/returnSumaDosNumeros\Format::sumita($numero1, $numero2);//los parámetros $numero1 y $numero2 se obtienen de la función sumaDosNumeros()}
Paso 5: Crear nuestro index.php
<?php
//Se obtiene la configuración inicial del autoload generado por composer dumprequire __DIR__ .'/vendor/autoload.php';/**
* En este caso imprime el resultado de la función sumaDosNumeros() que se declaro en helpers.php
* archivo que se intancia en el autoload_files
*/echo sumaDosNumeros(5,10);
Muy agradecido por el tutorial ✌
Quedo mas claro aquí contigo.
... clases como estas merecen un premio!
Ja Ja Ja
Bien
Yo esperaba un curso más sencillo pero esto esta a otro nivel.
No importa. Lo veo como un reto. Y sé que si logro entender esto voy a crecer más rápido
Esa es la actitud 🦾👊🏼🤛🏼🤜🏼
Se viene lo bueno!
:)
<Profesor, una pregunta la clase es de composer, mezcla en un jejercicio clases, namespace, autoload, etc.. por que no se centra en composer, y algo mas simple? o dígame si es que debo obligatoriamente tomar el curso de POO en php antes de tomar el curso de composer?
Buenas, una consulta que dirección le debo poner a mi navegador para que me aparezca el "HOLA" ?
debes tener un servidor local como xampp o otro
luego crear tu archivo en disco C:\xampp\htdocs dentro de esto y abrir en el navegador como localhost/proyect
Si seguro instalaste XAMPP, el programa se guarda en la mayoria de los casos en el disco C:\xampp. Dentro de esta carpeta vas a tener varias, pero la que te importa es la que se llama htdocs.
Cuando vos actives el servidor y este funcionando, en el navegador vas a poder escribir la dirección localhost donde esta va a estar direccionada a la carpeta htdocs. ++Lo recomendable es dentro de htdocs crear una carpeta proyectos o proyectoN, etc y luego desde el navegador acceder desde localhost/proyectoN o localhost/proyectos/proyecto1++.
Recuerda que para que funcione localhost en tu navegador tenes que abrir la aplicacion XAMPP y darle Start al servidor local.
Composer es el manejador de paquetes de PHP, si vienes de Nodejs o si has usado, Composer es el NPM de php
no me funciona el comando de composer dump
Deberias mencionar que error te esta lanzando para poder ayudarme, pero pienso que es por que no instalaste de manera global composer, entonces el comando composer y sus derivados solo funciona dentro de la carpeta donde se instalo.
en tu composer.json todo debe de star en minuscula , tambien me marcaba error pero ya dió :D
Me aparece esto cada vez que ingreso el comando de composer, a pesar de que lo tengo instalado![](
Si trabajaras con Windows te recomiendo instales WSL, será menos dolor de cabeza:
A parte de tener un WSL, es decir una terminal tipo linux, debes rastrear donde esta tu ejecutable de composer y agregarlo al PATH, o lo otro ejecutarlo desde la ruta donde esta ubicado, en conclusion te reporta el sistema que no encuentra el comando porque no sabe donde esta el ejcutable
Composer:
Es el sistema empleado para mantener un estándar profesional en nuestros proyectos web en PHP
Hola, soy nuevo en esto de la programación y decidí iniciarme en PHP. partiendo de la idea que este curso es en relación a los "fundamentos" hasta el video 09 en el cual se explica parte de la sintaxis de este lenguaje, no tuve problema. A partir del video 10 en relación al tema de Composer siento que para este caso se requieren de algunos otros conocimientos necesarios para que dicho tema sea un poco mas digerible teniendo como resultado una secuencia lógica y gradual para la absorción del conocimiento. Espero que en los próximos videos se explique un poco mejor. muchas gracias.
🐘 Composer es un gestor de dependencias que nos permite gestionar librerías de toda la comunidad de PHP.