Symfony Generate CRUD Doctrine

services-symfony2

Berikut adalah step by step pembuatan CURD pada symfony dengan CRUD generator dan Doctrine. Symfony adalah framework terbaik untuk PHP. Namun masih banyak kedala dalam mempelajarinya. Hal ini dikarenakan Symfony memang komplek. Untuk memahaminya membutuhkan pemahaman tentang OOP (Object Oriented Programming), OOD (Object Oriented Design), dan masih banyak lagi. Berikut adalah tutorial untuk melakukan Generate CURD pada Symfony dengan Doctrine. Langkah – langkah yang harus dilakukan sebagai berikut :

  • Membuat Bundle
  • Membuat Migration Doctrine
  • Membuat Entity
  • Melakukan Generate CURD

Membuat Bundle Symfony

Untuk membuat bundle dalam symfony cukup mudah. Ketikan saja command dibawah ini :

$ php app/console generate:bundle

Kemudian anda akan dipandu untuk memberikan keterangan yang diperlukan pada bundle anda.

– Bundle namespace, berikan dengan seperti contoh berikut, “Namaproject/Bundle/Namamodul[Bundle]”. Pada akhir namespace harus diberikan nama “Bundle”.

– Bundle name, directory, dan configuration format akan diberikan default oleh symfony.

Do you want to generate the whole directory structure jawablah dengan “yes” supaya symfony melakukan generate file – file yang dibutuhkan untuk bundle dengan otomatis. Selanjutnya jawablah dengan “yes” untuk segera membuat bundle.
sumber : https://symfony.com/doc/current/bundles/SensioGeneratorBundle/commands/generate_bundle.html

 Membuat Migration Doctrine

Dalam Symfony migrasi doctrine belum terinstall maka ada beberapa langkah yang harus dilakukan sebelum memulai migration.

  • Install Doctrine migration
  • Register Class Doctrine migration
  • Setup config file
  • Testing Doctrine migration
  • Membuat migration file
  • Edit Migration File
  • Migration

Install Doctrine Migration

instalasi doctrine menggunkan composer (Selengkapnya..). Untuk melakukan installasi kitikkan saja command dibawah ini

$ composer require doctrine/doctrine-migrations-bundle “^1.0”

sumber : https://symfony.com/doc/current/bundles/DoctrineMigrationsBundle/index.html

Register Doctrine Migration Class

Edit file app/AppKernel.php dan tambahkan Class Doctrine Migration seperti dibawah ini :

 // app/AppKernel.php
    public function registerBundles()
    {
        $bundles = array(
            //...
            new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
        );
    }

Setup Config File

Tambahkan code berikut pada config file. (code dapat disesuaikan)

#app/config/config.yml
doctrine_migrations:
    dir_name: "%kernel.root_dir%/DoctrineMigrations"
    namespace: Application\Migrations
    table_name: migration_versions
    name: Application Migrations

Testing Doctrine Migration

Setelah melakukan konfigurasi, cobalah doctrine migration dengan mengetik command berikut :

$ php app/console doctrine:migration:status

Jika sudah berhasil akan tampil detail Doctrine Migration.

Membuat Migration File (Generate)

Untuk melakukan generate file migration baru gunakan command berikut :

$ php app/console doctrine:migrations:generate

File migration kosong akan otomatis di generate. Pada directory yang telah kita tentukan pada config diatas.

 Edit Migration File

Dokumentasi tentang pembuatan file migration dapat dilihat pada link berikut :

https://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/schema-representation.html

Dalam hal ini kita akan membuat CRUD sederhana, berupa username dan kelas.

...
    /**
     * @param Schema $schema
     */
    public function up(Schema $schema)
    {
        // this up() migration is auto-generated, please modify it to your needs
        $table = $schema->createTable("tbl_curd");
        $table->addColumn('id', 'integer', array(
            'autoincrement' => true,
        ));
        $table->setPrimaryKey(array('id'));
        $table->addColumn("username","string");
        $table->addColumn("kelas","string");
        $table->setPrimaryKey(array("id"));
        $table->addUniqueIndex(array("username"));
    }

    /**
     * @param Schema $schema
     */
    public function down(Schema $schema)
    {
        // this down() migration is auto-generated, please modify it to your needs
        $schema->dropTable("tbl_curd");
    }
...

Migration

Setelah selesai membuat migration file, langkah selanjutnya adalah melakukan migration. Untuk melakukan migration ketik command berikut :

$ php app/console doctrine:migrations:migrate

Periksa databse untuk memastikan tabel sudah berhasil dibuat.

Membuat Entity

Untuk membuat entity, silahkan ketik commnad berikut :

$ php app/console generate:doctrine:entity

Untuk menami entity gunakan format berikut

[BundleName]/[Table]

Generate CRUD

Langkah paling akhir adalah dengan melakukan generate CRUD dengan command :

$ php app/console generate:doctrine:crud

Comments

comments

About Author: Akhyar Maulana
Hi, I am a PHP Programmer in www.cipika.co.id and trainer at Digital Developers Academy. I was bullied strong system in very busy system environment in my project. Welcome to PangeranWeb !!!! Don't stop learn and don't stop share.

Comments are closed.

Pangeran Web Facebook