There is no license information available for the latest version (v1.0) of this package.

Zend generator !


Code generator of zf3 fror mappers y classes

This tool generate classes and mappers from database metadata.


How to generate

modify core/Database.php

if (!$driver) {
  $this->adapter = new Zend\Db\Adapter\Adapter([
    'driver' => 'Pdo',
    'dsn'    => 'mysql:dbname=test;host=localhost;charset=utf8',
    'username' => 'root',
    'password' => '', 
    'options' => array(
    'buffer_results' => true,

modify core/config.php

$GLOBALS['suite_crm_path'] = '/var/www/suite/public_html';       

Run code generator

php generate.php

Method run

Método para correr el generador

php generate.php run 

Option --table -t

Agregar el nombre de la tabla que se desea generar

php generate.php run --table my_table_name 

Option --override

Sobre escribir el mapper existente

php generate.php run --table my_table_name  --override

Option --all

Genera todos los mappers y classes de la base de datos

php generate.php run --all

How to use mappers

Llamando directamente a los mappers

Se puede llamar directamente a los mappers .. se generara una coneccion diferente si no se le indica el adaptador en el mapper

$mapperContacts = new ContactsMapper();

// Guardando contactos

// Obteniendo contacto por id

// Actualizando contacto por id
$mapperContacts->update($contact, $id);

 // Encontrando un contacto por parametros

// Encontrando  muchos contactos por parametro

// Borrando un contacto 

// Obteniendo todos los contactos un contacto 

Usando una transaccion para multiples llamadas

Se debe agregar un adaptador para todos los mappers, que instancia a una conexion

// Get adapter
$database = new Database();
$adapter = $database->getAdapter();        

try {

    // Iniciando transaccion

    $mapperContacts = new ContactsMapper($adapter);
    $mapperEmailAddresses = new EmailAddressesMapper($adapter);

    $contact_id = $mapperContacts->store($contacto);
    $email_id = $mapperEmailAddresses->store($email);

    if ($contact_id && $email_id) {
        $asignado = $mapperEmailAddresses->assignToContact($contact_id, $email_id);

        if ($asignado) {

            // Commit

        } else {

            // rollback
    } else {

        // rollback


} catch (Exception $exc) {

    // rollback

} catch (\Zend\Db\Adapter\Exception\ErrorException $ex) {

    // rollback

} catch (Zend\Db\Adapter\Exception\RuntimeException $ex) {

    // rollback


Thats All!! THXS...




See also the list of contributors who participated in this project.


This project is licensed under the MIT License - see the file for details