Gerar Entidades e Repositórios Doctrine no ZF

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

Gerar Entidades e Repositórios Doctrine no ZF

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *