PHP - Comprensión de codigo

 
Vista:
Imágen de perfil de Lucas
Val: 136
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Comprensión de codigo

Publicado por Lucas (46 intervenciones) el 11/05/2020 02:05:24
Hola, estoy intentando comprender este código que se me presentó en un tutorial pero no llego a profundizarlo completamente... en especial la linea 13 , alguien podría explicarme que dice concretamente esa linea???? Gracias!!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function get_contenido_por_fecha(){
    $matriz=array();
    $contador=0;
    $resultado=$this->conexion->query("SLECT * FROM CONTENIDO ORDER BY FECHA DESC");
    while($registro=$resultado->fetch(PDO::FETCH_ASSOC)){
        $blog=new objeto_blog();
        $blog->set_id($registro["ID"]);
        $blog->set_titulo($registro["Titulo"]);
        $blog->set_fecha($registro["Fecha"]);
        $blog->set_comentario($registro["Comentario"]);
        $blog->set_imagen($registro["Imagen"]);
 
        $matriz[$contador]=$blog;
        $contador++;
    }
    return $matriz;


ME ACLARO UN POCO MÁS MIS DUDAS: En la linea 13, llamando solamente a la instancia $blog, ya hago referencia a todos los métodos que llame anteriormente?? Porque eso me suena raro...

Y MI OTRA DUDA SERÍA: Puedo almacenar una array simplemente así array()=$objeto????
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Comprensión de codigo

Publicado por Julio (830 intervenciones) el 11/05/2020 08:39:37
Hola.

Ahí tienes una función (a la que le falta el cierre que iría en la línea 17) que hace lo siguiente:

- en la línea 2 crea un array vacío llamado $matriz
- en la línea 3 crea una variable entera llamada $contador con valor 0
- en la línea 4 hace una consulta a la base de datos a través de una conexión que está guardada en $this->conexion y que, por tanto, deberá haberse definido antes en algún otro lado (por cierto, no es SLECT sino SELECT, eso está mal)
- en la línea 5 entra en un bucle while, el cual en cada iteración va obteniendo una fila entera de los valores que ha obtenido desde la base de datos, guardando estos valores en un array de nombre $registro
- en la línea 6 creas un nuevo objeto (¿sabes de programación orientada a objetos?). Este objeto está definido en la clase objeto_blog y, por tanto, ahora tienes una entidad que representa a un objeto_blog y que tendrá sus atributos y funciones (que estarán definidas en algún otro sitio)
- en las líneas 7, 8, 9, 10 y 11 utilizas las funciones de la clase objeto_blog que ahí ves (set_id, set_titulo, etc.) y los rellenas con los valores de los campos obtenidos de la base de datos (donde tendrás las columnas ID, Titulo, Fecha, etc.). Accedes a esos valores a través del array que se va definiendo en el while llamado $registro
- en la línea 13 añades al array $matriz el objeto $blog que acabas de crear y rellenar con datos. Y, además, lo añades en el índice contador. Es decir, el primer objeto $blog que se cree se añadirá a la posición que indica contador (que la primera vez es 0), así que el array $matriz tiene en la posición 0 un objeto $blog. La siguiente vez que pase ahí, se añadirá el siguiente objeto $blog que se haya creado pero en la posición 1, pues $contador valdrá uno más
- en la línea 14 es donde aumentas el valor de $contador, así la siguiente iteración del bucle $contador valdrá 1, luego 2, luego 3...
- en la línea 15 cierras el bucle 15
- en la línea 16 devuelves el array $matriz, que contiene todos los objetos de tipo objeto_blog que has creado
- en la línea 17 se cerrará la función

Ahora si fuera de eso haces algo así:

1
$blogs = get_contenido_por_fecha();

Tendrás en $blogs el array que se ha creado con todos los blogs y, por ejemplo, en $blogs[0] tendrás el primer objeto de tipo objeto_blog, en $blogs[1] tendrás el siguiente, etc. Y, supongo, tendrás estas funciones (y muchas más):

1
2
$blogs[0]->get_titulo(); // Aquí obtendrás el título del primer elemento del blog
$blogs[2]->get_comentario(); // Aquí obtendrás el comentario del tercer elemento del blog

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Lucas
Val: 136
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Comprensión de codigo

Publicado por Lucas (46 intervenciones) el 11/05/2020 14:25:56
Entonces entiendo que la respuesta a mis dos preguntas del final eran afirmativas!! Te agradezco Julio!!! Realmente mil gracias!! Si por esas casualidades crees en Dios espero te bendiga! un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar