function generate_classes() { $this->em->getConfiguration()->setMetadataDriverImpl(new DatabaseDriver($this->em->getConnection()->getSchemaManager())); $cmf = new DisconnectedClassMetadataFactory(); $cmf->setEntityManager($this->em); $metadata = $cmf->getAllMetadata(); $generator = new EntityGenerator(); $generator->setUpdateEntityIfExists(true); $generator->setGenerateStubMethods(true); $generator->setGenerateAnnotations(true); $generator->generate($metadata, APPPATH . "models/Entities"); }
/** * Generate, and return the attribute. * * The value returned is the id of the generated model, if applicable. * * @return int|null */ public function generate() { $model = parent::generate(); return $this->getId($model); }
################Gerando entidade ORM setando os atributos manualmente.########### /** * */ /* Nome da entidade */ $entityName = "People2"; /* Chave primária da entidade */ $entityPrimaryKey = "id"; /* Tabela da entidade no banco de dados*/ $entityTable = "people"; /* * Array $entityAttributes * A array de atributos (campos da tabela) só deve ser preenchida caso você opte por não gerar a entidade buscando do banco de dados. * Essa array só deve ser preenchida para geração de entidade sem tabela definida. */ $entityAttributes = array('name', 'email', 'birthDate', 'stature'); /* * Array $entitiesAssociated * Utilize o padrão abaixo para indicar que essa tabela terá tabelas filhas associadas a ela. * * $entitiesAssociated = array(array('ClassFilho', 'indiceAssociativo', 'entity/'), array('ClassFilho2', 'indiceAssociativo2', 'entity/')) */ $entitiesAssociated = null; /* * Diretório de destino da classe que será gerada. * $dirTarget = __DIR__ . "/../entity/"; */ $dirTarget = __DIR__ . "/../entity/"; $generateEntity = new \EntityGenerator($entityName, $entityPrimaryKey, $entityTable, $entityAttributes, $entitiesAssociated); $generateEntity->gerar($dirTarget); ######################################################################################################
<?php include_once '../dal/database.php'; include_once '../generator/entitygenerator.php'; include_once '../config/db.config.php'; $dbhostname = $db[$dbenv]['hostname']; $dbusername = $db[$dbenv]['username']; $dbpassword = $db[$dbenv]['password']; $dbname = $db[$dbenv]['database']; $dbo = Database::getInstance(); $dbo->connect($dbhostname, $dbusername, $dbpassword, $dbname); $obj = new EntityGenerator(); //$obj->getEntity('student'); $obj->getAllEntities($dbname);