No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Revisi贸n del proyecto

11/19
Recursos

Aportes 85

Preguntas 29

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

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 鈥淭ext鈥 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.

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

  • 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

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

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 鈥淒esarrollador 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

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

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 鈥淪lash鈥 para que pueda funcionar el c贸digo

si presentan este problema:
鈥淯ncaught Error: Class 鈥淭ext\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鈥檓 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 (鈥榰pper鈥)) {
// code鈥
function upperText($value)
{
return strtoupper($value);
}
}
// 鈥淪e 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 鉂わ笍

鈥渄escription鈥: 鈥淓nter 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 鈥渕odelo 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 鈥渦se鈥 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(鈥榟ola鈥)
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鈥eamos como evoluciona

Excelente explicaci贸n!