Excelente! me encantó la refactorización. Realmente hay muchas maneras de hacerlo, pero siempre usaremos la más legible . gracias Profe!!
Yo lo hice de la siguiente manera :D
<?php
$multiplicacion =readline("Que numero para multiplicar");$array =array(1,2,3,4,5,6,7,8,9,10);foreach($array as $valor){ $resultado = $multiplicacion * $valor ."\n"; echo "$multiplicacion x $valor = $resultado";}?>
Muy buen ejemplo, resaltando la importancia de hacer código limpio.
en lugar de
array_push();
es más optimo usar
$tabla_del_9[]= $resultado
Pero neesitarias otro ciclo para recorrer la posicion, en cambio array_push guarda el valor en la ultima posicion.
Muy buen ejemplo de como refactorizar un código lo más legible posible.
La idea de crear un arreglo de puro string donde esta tanto el texto y la operación no me agrada del todo pero entiendo que es mejor eso a tener un poquito de lógica en el HTML.
Gracias Carlos! 😁
Una clase retadora. Hay que procurar escribir siempre tomando en cuenta estas recomendaciones.
Cuando estudien algún framework como Laravel, aplicaremos este tipo de separación. En los controladores se escribe la lógica y el procesamiento de datos y el la vistas reciben esos datos y los muestran al cliente
Impresionante se me vino a la mente hasta la segunda refactorizacion. Lo ultimo no se me hubiera ocurrido nunca
con algunas incerciones m{as logr{e que al cambiar el valor $numero se muestre la tabla de multiplicar de la variable $numero
.
Ya que tocas el tema seguridad, eso es otro tema que da para otro curso completo del gran Retax Master !!.
.
Sobre la seguridad puedo decir hace mas danio lo que viene hacia el servidor que lo que sale del server. a no ser que alguien para pruebas haga un echo del array que contiene la configuracion de la base de datos y lo deje expuesto en produccion. 🤡
Tengo una duda. ¿Hay alguna buena práctica para que una función retorne HTML o simplemente ponerlo todo dentro de las comillas dobles?
Ejemplo:
Hola! implementaste dos ciclos en lugar de uno, duplicaste la complejidad del programa, cuál es el balance de performance que podríamos determinar en este ejemplo para satisfacer una correcta lectura de código y el mínimo de ciclos necesarios, es decir, 1?
Esta es mi propuesta :
<?php
function multiplicar($j) {
$Multiplicar=[];
for ($i=1; $i <= 10; $i++) {
$resultado = $j*$i;
$texto = "$j x $i = $resultado";
array_push($Multiplicar, $texto);
};
return($Multiplicar);
};
?><!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>Asi se hace</title></head><body><?php $multiplicando = 4 ?><h2>Tabla del <?= $multiplicando ?></h2><ul><?php foreach(multiplicar($multiplicando) as $valor ): ?><li><?= $valor ?><?php endforeach; ?></ul></body></html>