cristiannores / suite-ctrm-generator
Zend generator !
Requires
- php: ^7.1
- symfony/console: ^4.1
- zendframework/zend-code: dev-master
- zendframework/zend-component-installer: ^2.1.1
- zendframework/zend-config-aggregator: ^1.0
- zendframework/zend-console: ^2.7
- zendframework/zend-db: dev-master
- zendframework/zend-debug: dev-master
- zendframework/zend-diactoros: ^1.7.1
- zendframework/zend-expressive: ^3.0.1
- zendframework/zend-expressive-fastroute: ^3.0
- zendframework/zend-expressive-helpers: ^5.0
- zendframework/zend-http: dev-master
- zendframework/zend-hydrator: dev-master
- zendframework/zend-log: dev-master
- zendframework/zend-servicemanager: ^3.3
- zendframework/zend-stdlib: ^3.1
- zendframework/zend-validator: dev-master
Requires (Dev)
- filp/whoops: ^2.1.12
- phpunit/phpunit: ^7.0.1
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: ^2.9.1
- zendframework/zend-expressive-tooling: ^1.0
- zfcampus/zf-development-mode: ^3.1
This package is not auto-updated.
Last update: 2025-03-07 10:17:27 UTC
README
Code generator of zf3 fror mappers y classes
This tool generate classes and mappers from database metadata.
Example
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 $mapperContacts->store($data); // Obteniendo contacto por id $mapperContacts->get($id); // Actualizando contacto por id $mapperContacts->update($contact, $id); // Encontrando un contacto por parametros $mapperContacts->findOneBy($find); // Encontrando muchos contactos por parametro $mapperContacts->findManyBy($data); // Borrando un contacto $mapperContacts->delete($id); // Obteniendo todos los contactos un contacto $mapperContacts->getAll();
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 $adapter->getDriver()->getConnection()->beginTransaction(); $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 $adapter->getDriver()->getConnection()->commit(); } else { // rollback $adapter->getDriver()->getConnection()->rollback(); } } else { // rollback $adapter->getDriver()->getConnection()->rollback(); } } catch (Exception $exc) { // rollback $adapter->getDriver()->getConnection()->rollback(); } catch (\Zend\Db\Adapter\Exception\ErrorException $ex) { // rollback $adapter->getDriver()->getConnection()->rollback(); } catch (Zend\Db\Adapter\Exception\RuntimeException $ex) { // rollback $adapter->getDriver()->getConnection()->rollback(); }
Thats All!! THXS...
Version
VERSION 1.0
Authors
- Cristian Nores - ZF3 - Cristian Nores
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details