Senin, 08 Desember 2014

Membuat Database pada Doctrine di Zend Framework 2

Untuk membuat sebuah database pada doctrine anda harus membuat databasenya terlebih dahulu seperti yang anda lakukan pada langkah installasi doctrine dan juga zend developer tool zend framework. nah, sekarang akan kita lanjut saja yaitu dengan membuat entity database. buatlah folder entity pada file direktori module/Application/src/Application/ kemudian buatlah sebuah file dan diberi nama User.php dan isikan source code dibawah ini.

<?php

namespace Application\Entity;
use Doctrine\ORM\Mapping as ORM;
/** @ORM\Entity */
class User {
   /**
   * @ORM\Id
   * @ORM\GeneratedValue(strategy="AUTO")
   * @ORM\Colomn(type="integer")
   */
   protected $id;

   /** @ORM\Colomn(type="string") */
   protected $fullName;

   // getters/setters
}


Konfigurasi Doctrine driver anda pada file direktori module/Application/config/module.config.php dan masukan source code dibawah ini.

return array(
  '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'
      )
))), //[...]

Kemudian anda buka terminal jika dilinux dan buka command prompt jika pada windows, berikan perintah untuk masuk ke file project zend anda yaitu cd xampp/htdocs/testing. jika telah selesai masuk ke file directory tersebut anda jalankan perintah dibawah ini untuk menjalankan mapping anda.

/vendor/bin/doctrine-module orm:validate-schema

dan tunggu beberapa saat, selanjutnya anda jalankan juga perintah dibawah ini untuk membuat table dan entity database anda.

/vendor/bin/doctrine-module orm:schema-tool:create

tunggu beberapa saat. jika telah selesai, sambung dengan mencobakan membuat sebuah isi pada entity database anda dengan membuka file module/Application/src/Application/Controller/IndexController.php dan isikan source code dibawah ini.

<?php
namespace Application\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Application\Entity;

class IndexController extends AbstractActionController
{

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

   $user = new \Application\Entity\User();
   $user->setFullName('Agus Candra Harahap');

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

   die(var_dump($user->getId())); 
}
}

Jalankan project anda atau akses link localhost/testing/public sesuai dengan project anda, maka akan terlihat seperti dibawah ini.


dan juga coba lihat database anda apakah entity tersebut telah terisi sesuai dengan anda tuliskan pada source code diatas, maka akan terlihat sepertu dibawah ini.

lihat zend developer tool anda yaitu mappingnya jika berhasil maka akan terdapat sebuah mapping disana seperti yang terlihat pada gambar dibawah ini.

terima kasih.

Sumber : http://marco-pivetta.com/doctrine-orm-zf2-tutorial/#/27

Tidak ada komentar:

Posting Komentar