Valor de la variable como controlador de objetos?

  • RockmanTV
  • Proficient
  • Proficient
  • No Avatar
  • Registrado: Oct 12, 2004
  • Mensajes: 348
  • Status: Offline

Nota Diciembre 21st, 2009, 10:38 am

Im teniendo algunos problemas con esto en otro proyecto y mi primera solución ya no está trabajando para una vez más tengo que visitar a esta pregunta. ¿Hay una manera de asignar una variable de un valor, y luego de esa variable para actuar como el objeto con el mismo nombre del valor que se le dio?

Por ejemplo, digamos que tenía este código:
Código: [ Select ]
$title = 'HOME';
$title = strtolower($title).'_HL';
  1. $title = 'HOME';
  2. $title = strtolower($title).'_HL';


¿Habría alguna manera de conseguir $ título de actuar como un controlador para un objeto de $ home_HL para que yo pudiera llamar $ home_HL-> get_name () y que devolverá $ name home_HLs? Mi solución anterior era utilizar globales, así:
Código: [ Select ]
$GLOBALS[$title]->get_name(); //Would return the name of the object.

Sin embargo, para mi proyecto, register_globals se ha desactivado y no hay una buena manera de volver a conectarla, así que estoy en una pérdida en cuanto a lo que puedo hacer. Cualquier ayuda sería muy apreciada!
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Diciembre 21st, 2009, 10:38 am

  • nexuslite
  • Newbie
  • Newbie
  • No Avatar
  • Registrado: Feb 11, 2010
  • Mensajes: 10
  • Loc: Keizer, OR
  • Status: Offline

Nota Febrero 11th, 2010, 6:56 am

Im no completamente seguro de qué se trata esto, pero esto debe resolver cualquier problema de alcance global.

Código: [ Select ]
class Title {
    var $name = 'HOME';
    function get_name() {
        return $this->name;
    }
}

function Test() {
    $title = new Title;
    echo $title->get_name();
}

Test();
  1. class Title {
  2.     var $name = 'HOME';
  3.     function get_name() {
  4.         return $this->name;
  5.     }
  6. }
  7. function Test() {
  8.     $title = new Title;
  9.     echo $title->get_name();
  10. }
  11. Test();
  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Registrado: Feb 10, 2004
  • Mensajes: 13455
  • Loc: Florida
  • Status: Offline

Nota Febrero 11th, 2010, 6:54 pm

Trate de añadir otros US $ frente a la variable que contiene el nombre del objeto.

Código: [ Select ]
$obj = 'home_HL';
$$obj->method();
  1. $obj = 'home_HL';
  2. $$obj->method();
Strong with this one, the sudo is.

Publicar Información

  • Total de mensajes en este tema: 3 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 178 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC