Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/03/2014, 15:33
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Manejando Clases en php

Lo que se recomienda es que inyectes las clases de las cuales depende Usuario. Para tu caso la clase mysqli y la que te proporciona la ip, similar a tu segunda opción. Con esa idea y como ejemplo puedes modificar por ejemplo el metodo registrar_sesion

Código PHP:
Ver original
  1. function registrar_sesion($usuario) {
  2.             $this->l->consulta("sentencia sql");
  3.             ...
  4.             $ip = ip::get_ip();
  5.         }
Por:
Código PHP:
Ver original
  1. function registrar_sesion($usuario, $ip) {
  2.             $this->l->consulta("sentencia sql");
  3.             $this->ip = $ip->get_ip();
  4.         }

Cita:
El método correcto es parecido al segundo, pero se puede hacer de manera más sencilla sin tener que ir pasando por parametro el link a mysql, busca "patron singleton", es un patrón para poder acceder a la clase mysql sin tener que reinstanciarla en cada clase (o sin tener que pasarlo por parametro)
Se recomienda sustituir el uso del patrón singleton por la inyección de dependencias, ya que el primero mete mas problemas que los que soluciona.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.