quinta-feira, 30 de julho de 2015

Entity no Zend Framework 2

A classe Entity é a responsável por encapsular os dados de envio e retorno entre o banco de dados e a aplicação.

Seguem abaixo um exemplo de entidade criada para ser consumida pelo Doctrine:

No diretório module/Administrador/src/Administrador/Entity, criamos a classe Administrador.php.

<?php

namespace Administrador\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Administrador
 *
 * @ORM\Table(name="administrador")
 * @ORM\Entity
 */
class Administrador {

    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue
     * @var int
     */
    protected $adm_id;

    /**
     * @ORM\Column(type="text", name="adm_nome_completo")
     * @var string
     */
    protected $adm_nome;

    /**
     * @ORM\Column(type="text")
     * @var string
     */
    protected $adm_email;

    /**
     * @ORM\Column(type="text", length=32)
     * @var string
     */
    protected $adm_senha;

    /***********getters and setters***********/

    public function setAdmId($var) {
        $this->adm_id = $var;
    }

    public function getAdmId() {
        return $this->adm_id;
    }

    public function setAdmNome($var) {
        $this->adm_nome = $var;
    }

    public function getAdmNome() {
        return $this->adm_nome;
    }

    public function setAdmEmail($var) {
        $this->adm_email = $var;
    }

    public function getAdmEmail() {
        return $this->adm_email;
    }

    public function setAdmSenha($var) {
        $this->adm_senha = md5($var);
    }

    public function getAdmSenha() {
        return $this->adm_senha;
    }  

}
?>

As informações entre /**/ são chamadas de Annotations, é o modo passar o doctrine algumas informações como: tipo de dado que será encapsulado, o nome da coluna referente no banco de dados, tamanho da coluna no banco de dados e etc

Mais Informações:

http://doctrine-orm.readthedocs.org/en/latest/reference/basic-mapping.html

http://doctrine-orm.readthedocs.org/en/latest/reference/annotations-reference.html

Nenhum comentário:

Postar um comentário