Commits

Ricardo Obregón committed 49017b3

Agregado soporte de extensión (herencia) a la clase CrugeWebUser.

  • Participants
  • Parent commits 41312c8

Comments (3)

  1. Christian Salazar repo owner

    este cambio ayuda a que el issue asociado a este error no aparezca mas ? o lo hace mas susceptible ? digo esto porque este error aparece cuando una persona usa al UserIdentity basico de Yii en el form de login, el cual no es una instancia de CrugeWebUser y eso hace que se le pida a UserIdentity funciones que no tiene.

  2. Ricardo Obregón author

    El objetivo de este cambio es que si eventualmente decido extender o aumentar las funciones de CrugeUser, uno pueda hacerlo, y no afectará el funcionamiento de Cruge en general, así respondiendo la primera pregunta: el error no aparecería más, y respondiendo a la pregunta 2: lo fortalecería (a menos que se implemente una herencia que cambie por completo el funcionamiento de las funciones públicas, lo cual es bien difícil, incluso para alguien con pocos conocimientos de OOP).

  3. Carlos Belisario

    Chris lo que dice Ricardo es lo correcto, le da una ventaja grande a los que quieran extender a CrugeUser, ya que si la extienden sería igual una instancia de esta, en cambio el get_class te ata a la clase CrugeUser.

    Ahora si pasan un UserIdentity de Yii al no ser instancia de CrugeUser lanzará la excepción.

Files changed (1)

components/CrugeWebUser.php

         $duration = 0
     ) {
 
-        if (get_class($identity) != 'CrugeUser') {
+        if (!($identity instanceof CrugeUser)) {
             throw new CrugeException(
                 "Por favor cambie las referencias a '" . get_class($identity) . "' por 'CrugeUser'"
             );