Desde su versión 5.4.0, PHP implementa una metodología de reutilización de código llamada Traits. En Facturascripts 2018 hacemos uso de esta metodología para unificar múltiples procesos de los modelos que de otra manera se repetirían en cada modelo creado. Esto simplifica el código de los modelos y permite mantener el código unificado en una sola clase: ModelTrait

Al crear un nuevo modelo, debemos incluir la instrucción de uso del ModelTrait

    class Agente
    {
        use Base\ModelTrait;

        [ ... ]
    }


métodos comunes:
primaryColumnValue: Devuelve el valor del campo clave (Primary Key)
loadFromData: Carga los datos del modelo con el array de datos que se le pasa por parámetro
loadFromCode: Carga los datos del modelo a partir del valor del campo clave que se informa, o de una condición where (SQL)
get: Retorna un nuevo modelo con los datos cargados a partir del valor del campo clave que se informa
clear: Inicializa a nulo los datos del modelo
save: Persiste en la base de datos los datos del modelo
delete: Elimina de la base de datos el registro con clave primaria igual a la del modelo
count: Retorna el número de registros que cumplen con la condición where (SQL) informada
all: Retorna un array de modelos que cumplen con la condición where (SQL) informada

utilidades:
url: Retorna la url para el acceso al tipo solicitado (Auto | Edit | List)
var2str: Transforma un valor informado en una cadena de texto para su uso en una sentencia SQL
escapeString: Escapa las comillas del string informado


Colisiones


En ocasiones se necesita sobrescribir métodos definidos en ModelTrait, pero los Traits no es una clase de la cual heredemos sino más bien es una clase que "usamos" por lo que no es posible sobrescribir directamente como haríamos con una herencia. En su lugar necesitamos "renombrar" o darle un alias al método que necesitamos sobrescribir, incluir el método en nuestro modelo de manera "normal" pero incluyendo una llamada al "alias" que hemos creado.

    class Agente
    {
        use Base\ModelTrait {
            test as testTrait;
        }

        public function test()
        {
            $this->apellidos = self::noHtml($this->apellidos);
            $this->nombre = self::noHtml($this->nombre);
            if (!(strlen($this->nombre) > 1) && !(strlen($this->nombre) < 50)) {
                $this->miniLog->alert($this->i18n->trans('agent-name-between-1-50'));
                return false;
            }
            return $this->testTrait();
        }
    }


¿No encuentra lo que busca?




Soporte:

FacturaScripts es software libre y gratuito, pero si lo que busca es asesoramiento y soporte profesional, use la sección soporte.

  Soporte

¿Desea ser distribuidor?

Si desa ser distribuidor oficial de FacturaScripts, comience hoy mismo el proceso.

  hágase partner

Redes sociales:

Puede encontrarnos en las principales redes sociales. Y también en google+.





© 2013-2017 FacturaScripts