Aunque llevo unos años trabajando con php nunca había entrado en profundidad en composer. Me están gustando mucho estas clases y estoy aprendiendo un montón 😁
Introducción
Herramientas para seguir el curso
Qué aprenderás sobre PHP con Composer
Instalación de herramientas: XAMPP, Composer y GIT
Ser programador
El mundo del desarrollo web
Introducción a PHP
Sintaxis básica de PHP: asignación y aritmética
Sintaxis básica de PHP: comparación y variables
Bloques de códigos sencillos en PHP
Composer
Composer
Revisión del proyecto
Gestión de paquetes PHP
Cómo iniciar un proyecto
Introducción a JSON
Autoload
Comandos de Composer
composer.lock
Ejercicios y retos para seguir practicando
Resumen final
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Profesor Italo Morales F
Aportes 89
Preguntas 31
Aunque llevo unos años trabajando con php nunca había entrado en profundidad en composer. Me están gustando mucho estas clases y estoy aprendiendo un montón 😁
Realmente Composer si facilita (Y profesionaliza) mucho la carga de archivos en PHP, pero, cuand trabajas con muchas dependencias mediante Composer, es posible que existan 2 funciones iguales que lleven el mismo nombre, y eso puede causar un Fatal Error en PHP, es por eso que siempre se suele encerrar dentro de un if ( ! function_exists() ), de esa forma no duplicamos las funciones y nos evitamos un error.
Si no quieren abrir un navegador. Pueden hacerlo desde la consola y visualizar los resultados de igual manera.
php <nombreArchivo>.php
Breve resumen de la primera explicacion:
Aunque no tengo problema con el contenido de la clase, desde mi humilde opinión y punto de vista, creo que es algo ligeramente avanzado para un curso de Fundamentos de PHP.
Pero todo está muy bien explicado de igual forma.
La neta que no entiendo pero al menos estoy en el lugar correcto
Veo que muchos tuvieron mi mismo problema así que comparto el como logré solucionarlo.
Si al momento de querer correr el código en el navegador te sale este mensaje de error u otro similar al invocar la función:
Algo que me funcionó a mi fue poner el “Text” de la clase y del helpers con la t en minúscula (text).
Format.php
helpers.php
El Text del json no es necesario cambiarlo.
composer.json
Prueben a ver si así les funciona.
✨ Manejar composer te permite trabajar de forma profesional tus aplicaciones.
Creo que no fue muy claro como llego a tener instalado el composer en un proyecto… dejo por acá este video que me ayudo mucho: https://www.youtube.com/watch?v=jsK_JmSJvYw
Llevo un año como desarrollador de wordpress y ahora por fin entiendo algunas configuraciones de temas realizados por la comunidad, además de que me va a dar la apertura de trabajar con LARAVEL y entender porque funcionan sus REQUIRE, que emocionante 😄
Había trabajado con PHP (5.6) pero como bien creía, lo estaba haciendo de forma muy rústica, gracias a este curso estoy refrescando cosas y aprendiendo nuevas. Muchas gracias.
Mi cerebro en estos momentos: 🧠❓
Leyendo los demas aportes me doy cuenta que no soy el unico, es necesario ver dos veces el video para lograr entenderlo, el curso marcha bien, es solo nosotros aprendiendo algo nuevo, asi que animo chicos, invertir tiempo en estas cosas dan sus frutos al final y la satisfaccion de entender una tecnologia desconocida no tiene precio 😃
Me canse de buscar una solucion para el siguiente error que varios alumnos tenemos:
Fatal error: Uncaught Error: Call to undefined function lower() in C:\xampp\xampp8\htdocs\platzi\composer\index.php:5 Stack trace: #0 {main} thrown in C:\xampp\xampp8\htdocs\platzi\composer\index.php on line 5
Me queda duda, ¿Qué dice exactamente la validación ! function_exists?
En esta clase (y la anterior) he aprendido más que en todos los vídeos de composer que ví en youtube.
Durante mucho tiempo estuve viendo con mala cara aquellos developers que encerraban sus métodos entre condicionales ahora entiendo que el que estaba equivocado era yo. Gracias Italo
esta mi primera clalse de programacion y aunnque es muy basica no entiendo, no puedo comprender que significan los codigos , los comandos, los simbolos, meparece todo muy abstracto la sintais en general no pueo interpretar cuales son las ordenes de la lineas de codigo al idioma humano… alguien tiene una sugerencia, para poder comprendelo, soy perseverante y capaz, pero en este caso necesito entender el contexto , para poder interpretar las lineas de codigo
Cuando dicen que PHP es código espaguetti es principalemente por malas prácticas, como lo explica el profesor es excelente.
Explicación a profundidad de composer
Excelente!
Muy buena explicacion de composer
“psr-4”: {
“Text\”: “src/”,
“OtroNameSpace\”: “src/”
},
El “psr-4” es un estándar que básicamente maneja los namespaces de un código haciendo alusión a la ruta en la que se encuentran
<h5>Todo componente tiene este ciclo de vida.</h5> <h5>Todo proyecto vive dentro de la carpeta src , y esta se carga a lo largo del sistema gracias a la configuración del composer.json</h5>
La función strtoupper()
no trabaja con caracteres especiales (Las letras con tíldes no se van a transformar). Para corregir esto se puede usar en cambio la función mb_strtoupper($value, 'utf-8')
.
En caso de errores, puede ser porque no se tiene la extensión instalada. Puede corregirlo habilitando la extensión, y reiniciando Apache y tu servidor PHP. En caso de no funcionar, verifica que este habilitado en tu archivo php.ini
# Desde Ubuntu, puedes copiar esto en la terminal (Verifica que tus versiones de php y apache sean las mismas, o modifica la ruta con tus versiones)
sudo nano /etc/php/8.2/apache2/php.ini
Los cursos de Platzi suelen tener un buen nivel y ser de buena calidad, lamentablemente este está un poco entreverado. Si previamente tenes experiencia trabajando con PHP este curso es excelente, porque muchos conceptos que tal vez no tenias claro logras comprenderlos con mayor profundad. Ahora si venias haciendo la ruta de “Desarrollador backend de PHP” este curso está mal ubicado, el docente Italo usa conceptos de orientación a objetos que aún no se han visto en la ruta que propone Platzi. Sugiero que antes de agregar este curso recomienden realizar un pequeño curso de introducción a POO y luego seguir con este de Composer para entender mejor el curso 😃, espero mi aporte ayude a mejorar la gran calidad de los cursos de Platzi 😃.
Buenass alguien que me ayude a visualizarlo en la pagina de internet, no he podido. hay algo que estoy haciendo mal?
Me gusta mucho como el profesor explica paso a paso el workflow de la aplicacion.
.
el index.php (edsde donde empezo la explicacion) es lo que conocemos como entry-point o punto de entrada.
.
Y cuando hacemos depuracion (debugging) es por donde debemos empezar a ver y entender el dodigo (en proyectos legados -legacy- sobre todo, que alguien mas hizo ).
Creo que ya debes de tener un buen rato desarrollando en php y POO para poder tomar este curso. Tomare los demas cursos de POO para despues complentar con esto aun así para la descarga de dependencias basta con guiarse de la documentacion de la misma
tenía el mal habito de solo ver los curso como este e intentar entenderlos solo viendo (sin practicar lo que estaba viendo ), pero vaya que es un habito demasiado malo, cuando empiezas a practicar es mas facil que se te queden las cosas grabadas en tu cabeza.
esto es un ejemplos sencillo para entender que es y como funciona composer? hablar de helpers clases namespaces json tener un ejemplo con varios archivos eso es algo simple para entender composer?
vistas, de por dios, saltamos de composer a vistas y helpers de una manera de milisegundos y se regresa al ejemplo como si nada, que desanimado me encuentro con el curso
Si quieren usar una Extensión similar a Liver Server pero en en PHP. Instalen en visual studio code PHP server.
También revisen los “Slash” para que pueda funcionar el código
si presentan este problema:
“Uncaught Error: Class “Text\Format” not found"
es el autoload. Siempre pueden reiniciarlo usando el comando
"composer dump-autoload” en la terminal
Esto me esta gustando!
Muy interesante, no conocia realmente como funciona composer tan detalladamente, excelente explicación, a seguir aprendiendo 💪
https://rimorsoft.com/blog/sistema-de-autoload-en-composer este es el pedazo que le falta al curso
Tardé dos días entendiendo lighttpd para que funcionara en mi PC 😂. Pero aquí estamos de vuelta
Tambien llevaba un tiempo aprendiendo Php pero nunca produndice el tema de composer, esta interesante
Había escuchado de composer pero hasta el día de hoy entiendo la función y las ventajas que le proporciona a php como tal
Buenisimo! me despejo muchas dudas del curso anterior.
Así me quedó el helpers.php
<?php
if(! function_exists("sumar")){
function sumar($a,$b){
return Numeros\Operaciones::sumar($a,$b);
}
}
if(! function_exists("restar")){
function restar($a,$b){
return Numeros\Operaciones::restar($a,$b);
}
}
if(! function_exists("multiplicar")){
function multiplicar($a,$b){
return Numeros\Operaciones::multiplicar($a,$b);
}
}
if(! function_exists("dividir")){
function dividir($a,$b){
return Numeros\Operaciones::dividir($a,$b);
}
}
if(!function_exists("sumar")){
function sumar($c){
return "Hola";
}
}
?>
Gracias profesor Italo, buen aporte, Dios lo bendiga
En helpers.php
vamos a colocar el código que vamos a reutilizar.
En esta clase hemos revisado cómo funciona internamente cuando usamos composer.
Todo comienza con el INDEX que agregamos al principio de nuestro archivo.
Lo correcto para hacer nuestras funcionalidades en el helpers.php, es metiéndolos en un if.
No entiendo por que este es el primer curso de la ruta de desarrollo de backend con php. No se por donde empezar, todo me parece muy complejo.
I’m Developer PHP
|| Helpers
Es una carpeta que recibe funciones repetitivas.
Internamente pregunta al sistema si esta función no existe si la función no existe significa que hay que aplicar la función contenida en helpers.
Composer facilita el manejo de paquetes y la carga de archivos en php
Excelente clase! Ahora si me quedo claro para que es útil esta herramienta!
Me sale el siguiente error y he revisado y revisado pero no detecto el error.
Es genial aprender a usar php profesionalmente siendo que lo venia utilizando ya mas de un año de forma pura.
En la segunda parte explica como es la manera correcta de configurar el Format php:
/* (They both work the same)
THE RIGHT WAY TO SET IT UP:
// El if dice: Si esa función no existe para que php la cree.
// Pero sí, si existe, no lo recargará, pues composer los carga por si solo.
if ( ! functions exists (‘upper’)) {
// code…
function upperText($value)
{
return strtoupper($value);
}
}
// “Se puede hacer manualmente pero aprovechamos esta tecnologia para hacer
un sistema de carga automatica.”
*/
Convierte texto:
strtoupper: Mayuscula.
strtolower: Minuscula.
hola, mi primera vez con composer fue a través de laravel. este es un enfoque totalmente diferente al que venia manejando. excelente.
Si alguien no sabe que es composer…
compser es un sistema de gestión de paquetes.
https://es.wikipedia.org/wiki/Sistema_de_gestión_de_paquetes
Con esta clase he podido comprender la anterior 🤣
La clase anterior y esta clase me están ayudando, no del todo pero voy entendiendo como funciona php, espero que al final logre comprender como funciona y aprenda a como programar ❤️
“description”: “Enter a description for your project”,
Composer usa el modelo vista controlador?
Italo, qué grata sorpresa que seas profesor en Platzi. Durante años he seguido los videos de tu canal de Youtube y en gran medida podría decir que gracias a ello laboro en algo que me apasiona. ¡Gracias totales!
Aprendí muchísimo.
Básicamente lo que hicimos fue crear un paquete, para entender su estructura, si estoy mal por favor feedback, gracias
Excelente!
Vamo a darle con todo
Excelente explicación de Composer!
Aquí pueden revisar más a profundidad el estandar psr-4 https://www.php-fig.org/psr/psr-4 y muchos otros estándares.
Soy nuevo en desarrollo web, prácticamente estoy iniciando de cero; antes de iniciar mi aprendizaje escuchaba que en desarrollo web existe el patron “modelo vista controlador” (no sé si solo en PHP). De manera muy general lo que se hace creo que es, estructurar el código en distintas carpetas (modelos, vistas y controladores), entre las ventajas de este patron, estructura o forma de programar es que incluso daba un nivel de seguridad a la aplicación.
Este patron ¨modelo, vista, controlador¨ es es la forma antigua de programar? ¿Tiene alguna relación con Composer o son cosas diferentes? ¿Composer reemplaza esto y hace la programación mas sencilla? ¿Qué hay en cuanto a la seguridad? ¿Es necesario aprender este patron de modelo vista controlador? ¿La ruta de desarrollo web backend con PHP enseña este patron?
Espero puedan responder mis dudas por favor.
tengo este error Fatal error: Uncaught Error: Call to undefined function upper() in C:\xampp\htdocs\platzi\php 2020\index.php:7 Stack trace: #0 {main} thrown in C:\xampp\htdocs\platzi\php 2020\index.php on line 7
index
<?php
require __DIR__. '/vendor/autoload.php';
//require __DIR__. '/src/helpers.php';
echo upper('hola');```
<autoload
<?php
// autoload.php @generated by Composer
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit6a9afed5fce49ecf67e798fa80636da2::getLoader();
<helpers>
<?php
function upper($value){
return Text\Format::upperText($value);
}
`<Format>
<?php
namespace Text;
class Format{
public static function upperText($value){
return strtoupper($value);
}
}
comporse.json
{
"name":"italomoralesf/text",
"autoload":{
"psr-4":{
"Text\\":"src/"
},
"file":[
"src/Helpers.php"
]
}
}
Es super interesante como funciona a la vez que enredado, pero la verdad me parece bastante interesante esta forma de trabajar. A seguir avanzando
Hola a todos, cómo hago para que php me reconozca caracteres especiales como la ñ ?
seee!!
helpers
Es un ayudante, lo que creamos para poder usar funciones que se repiten a lo largo del sistema en las vistas o controladores del modelo MVC.
Esto me recuerda al sistema de namespaces
del lenguaje de programación C#
no tienen idea de lo rico que se ponen las pizzas viendo estos cursos 😃
Presento un error, me dice que la funcion lower no existe, cabe destacar si tengo la funcion creada como lo indica el video en mi helpers, adjunto el error para quien sepa a que se debe:
Fatal error: Uncaught Error: Call to undefined function lower() in /home/nombredeusuario/Documents/Platzi/FundamentosPhp/index.php:5
Stack trace:
#0 {main}
thrown in /home/nombredeusuario/Documents/Platzi/FundamentosPhp/index.php on line 5
Mi helpers.php usando “use” para no escribir el namespace varias veces y usando type hinting para especificar el tipo de los parámetros y del valor de retorno de las funciones.
<?php
use Text\Format;
if (!function_exists("upper")) {
function upper(string $value): string
{
return Format::upperText($value);
}
}
if (!function_exists("lower")) {
function lower(string $value): string
{
return Format::lowerText($value);
}
}
Tengo exactamente el mismo código, cuando uso Text\Format::upperText(‘hola’)
desde index funciona pero cuando uso el helper me devuelve:
"Fatal error: Uncaught Error: Call to undefined function upper()… "
<?php require __DIR__ . '/vendor/autoload.php'; echo upper('hola');
Excelente explicación.
Este es un curso de fundamentos de php o un curso para personas que ya saben los fundamentos de php?
Que se supone que está haciendo el profesor aquí?
No había visto nunca Composer, pero parece interesante…Veamos como evoluciona
Excelente explicación!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?