Foros del Web » Programando para Internet » PHP »

Funcion para imprimir lo devuelto (return)

Estas en el tema de Funcion para imprimir lo devuelto (return) en el foro de PHP en Foros del Web. Hola a todos, estoy acabando de desarrollar el motor de la primera versión beta de mi librería (ver mi firma) pero me faltaría alguna funcion ...
  #1 (permalink)  
Antiguo 10/11/2010, 07:56
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Funcion para imprimir lo devuelto (return)

Hola a todos, estoy acabando de desarrollar el motor de la primera versión beta de mi librería (ver mi firma) pero me faltaría alguna funcion capaz de meter en un array (o de imprimir directamente) todo lo devuelto, sean variables o sean cadenas. Es decir, algo como get_defined_vars(); pero para return y no para las variables. Alguien sabe si existe eso?
  #2 (permalink)  
Antiguo 10/11/2010, 08:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Funcion para imprimir lo devuelto (return)

la verdad que no entiendo de que hablas, podrías explicarte un poco mejor?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 10/11/2010, 08:30
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Funcion para imprimir lo devuelto (return)

Sinceramente no entiendo que es lo que quieres hacer. Pero existen unas funciones para trabajar con las funciones dinámicamente http://www.php.net/manual/en/ref.funchand.php
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 10/11/2010, 08:52
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Funcion para imprimir lo devuelto (return)

Bueno tal vez no me haya expresado bien -es dificil hacerlo-.

Bueno el tema es que tengo una serie de funciones, tales como estas:

Código PHP:
Ver original
  1. function b($texto) {
  2.     return '<b>'.$texto.'</b>';
  3. }
  4. function i($texto) {
  5.     return '<i>'.$texto.'</i>';
  6. }
  7. function u($texto) {
  8.     return '<u>'.$texto.'</u>';
  9. }
  10. function strike($texto) {
  11.     return '<strike>'.$texto.'</strike>';
  12. }

(aunque estas son las mas simples).
Bueno pues querría conseguir algo con lo que una vez llamadas estas funciones, lo devuelto con return sea escrito.
  #5 (permalink)  
Antiguo 10/11/2010, 08:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Funcion para imprimir lo devuelto (return)

http://php.net/echo
Código PHP:
echo strike('algo asi?'); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 10/11/2010, 09:06
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Funcion para imprimir lo devuelto (return)

Si, la idea es esta, pero que lo haga automaticamente, sin que el usuario de la orden de echo.

Puede parecer raro pero es así porque también hay otras funciones como div() :
Código PHP:
Ver original
  1. function div() {
  2.     $args = func_get_args();
  3.     $div = print_r('<div',true);
  4.     if(isset($args[1])) $div .= print_r(" ".$args[1],true);
  5.     $div .= print_r(">",true);
  6.     $div .= print_r($args[0],true);
  7.     $div .= print_r('</div>',true);
  8.     echo $div;
  9. }

Que si el contenido es una funcion de las que ya he dicho y no se devuelve, no se engloba en la div.

En otras palabras, querría hacer algo que mirase dos cosas:

1.-Si la función es argumento de otra, devolver (return)
2.-Si no es argumento, imprimir (echo)

¿Cómo puedo hacer esta comprobación?
  #7 (permalink)  
Antiguo 10/11/2010, 09:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Funcion para imprimir lo devuelto (return)

Cita:
Iniciado por 3nr1c Ver Mensaje
En otras palabras, querría hacer algo que mirase dos cosas:

1.-Si la función es argumento de otra, devolver (return)
2.-Si no es argumento, imprimir (echo)

¿Cómo puedo hacer esta comprobación?
eso si ya es mas complejo, en dado caso podrías usar la librería Reflection de PHP, o debug_backtrace(), aunque de verdad te digo que no tiene mucho sentido lo que comentas...

según mi punto de vista, las funciones deberían devolver siempre un resultado y ya depende de nosotros emplear dicho resultado como argumento de otra función o imprimirlo, etc...

y por si te sirve la critica, tienes varias cosas de mas aquí:
Código PHP:
function div()
{
    
$args func_get_args();
    
$div '<div';
    if ( ! empty(
$args[1])) $div .= " {$args[1]}";
    
$div .= ">{$args[0]}</div>";
    return 
$div;

en cierto sentido es innecesario el uso de print_r() para emplear strings...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: funcion, return
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:37.