cristiannores / suite-ctrm-generator
此包的最新版本(v1.0)没有提供许可证信息。
Zend生成器!
v1.0
2018-08-30 11:38 UTC
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: 2024-09-20 08:05:16 UTC
README
zf3的映射器和类的代码生成器
此工具可从数据库元数据生成类和映射器。
示例
如何生成
修改 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, )]); }
修改 core/config.php
$GLOBALS['suite_crm_path'] = '/var/www/suite/public_html';
运行代码生成器
php generate.php
运行方法
运行生成器的步骤
php generate.php run
选项 --table -t
添加要生成的表名
php generate.php run --table my_table_name
选项 --override
覆盖现有的映射器
php generate.php run --table my_table_name --override
选项 --all
生成数据库中的所有映射器和类
php generate.php run --all
如何使用映射器
直接调用映射器
可以直接调用映射器..如果未指定适配器,将生成不同的连接
$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();
使用事务进行多次调用
必须为所有映射器添加适配器,该适配器实例化一个连接
// 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(); }
这就完了!!谢谢...
版本
版本 1.0
作者
- Cristian Nores - ZF3 - Cristian Nores
也可以查看参与此项目的贡献者列表。
许可证
本项目采用MIT许可证 - 详细信息请参阅LICENSE.md文件。