Skip to main content

How to configure zf2 and doctrine2 ?

Step-1 : install zf2 developer tool 

php composer.pharrequire zendframework/zend-developer-tools:dev-master

Step-2: add in application config/application.config.php

'modules' => array(
        'ZendDeveloperTools',
        'DoctrineModule',
        'DoctrineORMModule',
        'Application',
    ),

Step-3: Create your entity module/Application/src/Application/Entity/User


namespace Application\Entity;
use Doctrine\ORM\Mapping as ORM;
/** @ORM\Entity */
class User {
    /**
    * @ORM\Id
    * @ORM\GeneratedValue(strategy="AUTO")
    * @ORM\Column(type="integer")
    */
    protected $id;
    /** @ORM\Column(type="string") */
    protected $fullName;
    // getters/setters
}
Step-4: do mapping in module/Application/config/module.config.php
'doctrine' => array(
  'driver' => array(
    'application_entities' => array(
      'class' =>'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
      'cache' => 'array',
      'paths' => array(__DIR__ . '/../src/Application/Entity')
    ),

    'orm_default' => array(
      'drivers' => array(
        'Application\Entity' => 'application_entities'
      )
))),
Step-5: configure connection config/autoload/doctrine.local.php

return array(
  'doctrine' => array(
    'connection' => array(
      'orm_default' => array(
        'driverClass' =>'Doctrine\DBAL\Driver\PDOMySql\Driver',
        'params' => array(
          'host'     => 'localhost',
          'port'     => '3306',
          'user'     => 'username',
          'password' => 'password',
          'dbname'   => 'database',
)))));

Step-6 , check you database create table or run doctrine command

php composer.pharrequire zendframework/zend-developer-tools:dev-master

Step-7 : test it .
module/Application/src/Application/Controller/IndexController.php

public function indexAction() {
    $objectManager = $this
        ->getServiceLocator()
        ->get('Doctrine\ORM\EntityManager');

    $user = new \Application\Entity\User();
    $user->setFullName('Marco Pivetta');

    $objectManager->persist($user);
    $objectManager->flush();

    die(var_dump($user->getId())); // yes, I'm lazy
}

Comments

Popular posts from this blog

HTML Emailing in ZF2

<?php namespace Application\Model; use Zend\Mail\Message; use Zend\Mime\Message as MimeMessage; use Zend\Mime\Part as MimePart; use Zend\Mail\Transport\Sendmail as SendmailTransport; use Zend\Mail\Transport\Smtp as SmtpTransport; use Zend\Mail\Transport\SmtpOptions; use Zend\View\Renderer\PhpRenderer; use Zend\View\Resolver\TemplatePathStack; use Zend\View\Model\ViewModel; use Zend\View\Model\ModelInterface; class ApiEmail extends ApiInterface {    protected $From = "XXXXX@gmail.com";    protected $FromName = "XXXX";    protected $To = "" ;    protected $Subject = "" ;    protected $Body = "" ;    protected $Cc = "XXXXXX@gmail.com";    protected $Bcc = "XXXXX@gmail.com" ;    protected $ReplyTo = "XXXX@gmail.com" ;    protected $Sender = "" ;    protected $Encoding = "UTF-8" ;    protected $MESSAGE ; // getter setter ...

How to Set Up a Home Smart Office – A Step-by-Step Guide

  By Luna Lush In today's world, working from home has become the norm for many, making it essential to have a smart, efficient, and comfortable home office. With the right tech tools, you can transform any space into a productivity hub. In this tutorial, we'll walk you through setting up a home smart office that maximizes efficiency, comfort, and connectivity. Step 1: Choose the Right Space Before diving into tech, pick the ideal spot in your home. Whether it's a dedicated room or a cozy corner, ensure the area is quiet, well-lit, and free from distractions. Good lighting is crucial for video calls and reduces eye strain during long hours of work. Step 2: Invest in a Smart Desk Setup A smart desk setup is the foundation of your home office. Consider the following: Adjustable Standing Desk: Invest in a desk that allows you to switch between sitting and standing. Many options come with programmable settings to easily adjust the height. Ergonomic Chair: A chair that support...

Grouped CheckboxSelectMultiple in Django template

from itertools import groupby from django import forms from django . forms . models import ModelChoiceIterator , ModelMultipleChoiceField from . models import Feature , Widget class GroupedModelMultipleChoiceField ( ModelMultipleChoiceField ): def __init__ ( self , group_by_field , group_label = None , * args , ** kwargs ): """ ``group_by_field`` is the name of a field on the model ``group_label`` is a function to return a label for each choice group """ super ( GroupedModelMultipleChoiceField , self ). __init__ (* args , ** kwargs ) self . group_by_field = group_by_field if group_label is None : self . group_label = lambda group : group else : self . group_label = group_label def _get_choices ( self ): if hasattr ( self , '_choices' ): return self . _choices return GroupedModelCho...