Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Revisión del proyecto

11/19
Recursos

Aportes 78

Preguntas 28

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

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.

"de esta manera entendemos el ciclo profesional" y yo como de 👁️👄👁️

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.

La neta que no entiendo pero al menos estoy en el lugar correcto

✨ 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 😄

  • Format.php → Funciones (Funcionalidades)
  • helpers.php → Ayudas de reescritura de funciones
  • composer.json → Configuración de carga
  • index.php → Programa principal
  • vendor → *Se crea automáticamente con composer dump

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

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

9. Revisión del proyecto

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.

Hola. Les comparto este repositorio que sirve de guía para el examen final, pues contiene las preguntas que se encuentran en el examen, la justificación y el video del curso donde se habla sobre eso. Espero y les sea de utilidad 😄.
Platzi-Test

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!