1 – Baixar Skeleton do ZF;
2 – Habilitar dll open_ssl.dll no php.ini;
3 – git clone git://github.com/zendframework/ ZendSkeletonApplication.git;
4- Renomear pasta cmd(comando move nomePasta novoNome);
5 – download composer.phar (https://getcomposer.org/download/);
6 – adicionar doctrine no composer.json;
{ "name": "zendframework/skeleton-application", "description": "Skeleton Application for ZF2", "license": "BSD-3-Clause", "keywords": [ "framework", "zf2" ], "homepage": "http://framework.zend.com/", "require": { "php": ">=5.5", "zendframework/zendframework": "~2.5", "doctrine/doctrine-orm-module": "dev-master" } }
Sessão 2
1. atualizar composer.phar
comando -> php composer.phar self-update;
2. atualizar dependencias usando composer
comando -> php composer.phar update;
3. Registrar doctrine no application.config.php;
'modules' => [ 'Application', 'DoctrineModule', 'DoctrineORMModule', ],
4. Configurar doctrine no arquivo projetoBd\module\Application\config\module.config.php
'doctrine' => [ 'driver' => [ __NAMESPACE__ . '_driver' => [ 'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver', 'cache' => 'array', 'paths' => [__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity'] ], 'orm_default' => [ 'drivers' => [ __NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver' ] ] ] ]
5. Configurar banco de dados;
Criar arquivo de configuração /config/autoload/doctrine_orm.local.php
return [ 'doctrine' => [ 'connection' => [ 'orm_default' => [ 'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver', 'params' => [ 'host' => 'localhost', 'port' => '3306', 'user' => 'root', 'password' => '123456', 'dbname' => 'projeto-bd', 'mapping_types' => ['enum' => 'string'], 'driverOptions' => [ //PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'" ] ] ] ] ], ];
6. Criar banco de dados projeto-bd no MySQL;
create database projetobd;
7. Criar a tabela pessoa;
Com os campos id inteiro (auto incremento), nome varcha(100), cpf varchar(14);
CREATE TABLE IF NOT EXISTS `projetodb`.`pessoa` ( `idpessoa` INT NOT NULL AUTO_INCREMENT, `nome` VARCHAR(100) NOT NULL, `cpf` VARCHAR(14) NOT NULL, PRIMARY KEY (`idpessoa`)) ENGINE = InnoDB; CREATE TABLE IF NOT EXISTS `projetodb`.`usuario` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `login` VARCHAR(50) NULL DEFAULT NULL, `pessoa` INT NOT NULL, PRIMARY KEY (`id`), INDEX `fk_usuario_pessoa_idx` (`pessoa` ASC), CONSTRAINT `fk_usuario_pessoa` FOREIGN KEY (`pessoa`) REFERENCES `projetodb`.`pessoa` (`idpessoa`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
8. Dar permissão de escrita nos diretórios e subdiretórios
projetoBd\module\Application\src\Application
projetoBd\data
9. entra no diretório projetoBd\vendor\bin
10. executar comando doctrine-module
11. gerar mapa da base de dados
doctrine-module orm:convert:mapping –force –from-database –namespace=”Application\Entity\\” annotation C:\www\projetoBd\module\Application\src
linha unica;
13. gerar entidade
doctrine-module orm:generate:entities C:\www\projetoBd\module\Application\src
14. Setar caminho do repositório
substituir * @ORM\Entity por * @ORM\Entity(repositoryClass=”Application\Entity\Repository\Pessoa”)
15. Gerar repositório
doctrine-module orm:generate:repositories C:\www\projetoBd\module\Application\src
Puedo encontrar buena información de este artículo. Donny Deck Mehalick