Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: fleshworm en Junio 21, 2015, 05:18:55 PM

Título: [SOLUCIONADO] Devolver contenido legible desde objeto en php
Publicado por: fleshworm en Junio 21, 2015, 05:18:55 PM
Pregunto es possible devolver contenido legible por ejemplo un foreach() bucle desde un objeto (clase) en php


<?php

class miniature_news{

 var 
$cpt = array();

 public function 
__construct($end$postperpag$totalpost){
  
$this->cpt["totalpages"] = ceil($totalpost $postperpage);
 }

 public function 
grab_entries(){
  if(
$dir opendir("dir/path/")){
   while(
false != ($data readdir($dir))){
    
$file[] = $data;
    
rsort($file);
   }
   
closedir($dir);
   return(
$file);
  }
 }

 public function 
display_post(){
  
$totalpost $this->grab_entrie("dir/path/");
  foreach(
$totalpost as $element){
   
$data file("dir/path/".$element);
   
$post "<h2>{$data[0]}</h2>";
   unset(
$data);
  }
 return(
$post);
 }

}

$obj = new miniature_news($val1$val2$val3);

echo 
$obj->display_post(); // Desde aqui me devuelve solo una entrada!

?>


Título: Re:[DUDA] Debolver contenido legible desde objeto en php
Publicado por: blackdrake en Junio 23, 2015, 06:31:58 AM
Mmm no he mirado mucho tu código (estoy desde el móvil), pero encuentro aquí un fallo:

Código (php) [Seleccionar]

$totalpost = $this->grab_entrie("dir/path/");
  foreach($totalpost as $element){
   $data = file("dir/path/".$element);
   $post = "<h2>{$data[0]}</h2>";
   unset($data);
  }
return($post);


$post siempre devolverá el valor de la última posición del foreach.

Esto es debido a que la variable $post vale "<h2>{$data[0]}</h2>"; por tanto, al igualarlo y no concatenarlo ni nada por el estilo, lo que devuelve es una única entrada.

Lo que debes hacer es guardarlo como array (y en diferentes posiciones) o bien,  concatenar los anteriores valores $post .= "<h2>{$data[0]}</h2>";, esto último es un poco chapuzas, pero puede servirte dependiendo de como utilices tu aplicación.


Prueba y me cuentas :D

Saludos.
Título: Re:[DUDA] Devolver contenido legible desde objeto en php
Publicado por: fleshworm en Junio 23, 2015, 08:13:46 AM
Gracias por la sugerencia men algo similar estaba intentando, logre resolverlo con encapsulamiento. props!