is_cli - Codeigniter: Get Instance
codeigniter is_cli() (2)
¿Cuál es el propósito de "Obtener Instancia" en Codeigniter? ¿Cómo le explicarías esto a un principiante total?
Es una implementación del patrón singleton . Básicamente, solo hay una instancia de la clase en cuestión, que está diseñada para ser accesible globalmente. El método get_instance
es estático y proporciona una forma de acceder a la instancia desde cualquier parte de su código.
Ok, entonces todo en CodeIgniter se ejecuta a través de la súper-magia $this
variable. Esto solo funciona para las clases, ya que $this
básicamente define la clase actual.
Su controlador es una clase, entonces $ this está ahí, lo que le permite hacer $this->load->model(''whatever'');
En los modelos, también está usando una clase. Aquí es ligeramente diferente, ya que $this
solo contiene elementos útiles a medida que se extiende desde el Modelo. Aún así, $this
sigue siendo válido.
Cuando está utilizando un helper o una biblioteca, necesita encontrar esa "instancia" o $this
equivalente.
$ci =& get_instance();
... hace que $ci
contenga exactamente las mismas cosas / código / utilidad que $this
, incluso si no estás en una clase, o no en una clase que lo hereda.
Esa es una explicación para principiantes totales después de 2 pintas, por lo que es incorrecto o está bien. ;-)