Tutorial Pemrograman PHP Berbasis MVC Menggunakan Framework CodeIgniter dan Doctrine – Bagian 1 – Setup dan Instalasi

CodeIgniter + Doctrine

Terpesona oleh tutorial mengenai CodeIgniter dan Doctrine oleh Burak Guzel,  seorang developer web PHP di Arizona yang berasal dari Istanbul, saya menyadur tutorial dia agar dapat lebih banyak dibaca oleh programmer PHP lokal dan tentu saja dengan seizin dia dan bumbu-bumbu tambahan dari saya hehe. Tutorial original dia ada di link ini

Kenapa Framework?

Mungkin masih banyak pengembang PHP di Indonesia yang suka ngotak-ngatik PHP dari awal. Contohnya untuk membuat validasi form HTML aja, kalau gak buat sendiri validasinya ya comot sana-sini di internet. Masalah keamanan data juga seperti pencegahan SQL Injection mungkin banyak yang menggunakan fungsi konversi query yang ada di PHP dan menggunakannya di ratusan baris kodingan. Hehe, lama kelamaan cara seperti ini akan membuat para pengembang PHP capek sendiri karena terus menerus melakukan kodingan yang itu-itu aja untuk fungsi yang sama dan memakan banyak waktu.

Untuk mengatasi berbagai macam masalah-masalah di pengembangan PHP seperti yang disebutkan di atas, ada cara yang dapat mempermudah kalian dalam membuat web menggunakan PHP, yaitu dengan menggunakan framework. Framework yang akan dibahas di tutorial berseri ini adalah CodeIgniter dan Doctrine.

Downloac Source Code

Kenapa Menambahkan Doctrine Pada CodeIgniter?

Sebelum kita mulai, saya jelaskan kenapa menggunakan 2 framework di sini dengan penambahan framework Doctrine. Doctrine adalah Pemeta Relasi Objek (Object Relation Mapper) pada PHP. Tidak masalah jika anda tidak paham dengan istilah ini, hehe. Intinya anda dapat memetakan tabel-tabel database anda menjadi kelas-kelas di aplikasi web anda. Dan instance dari kelas-kelas ini (contohnya objek) merepresentasikan record pada database.

Ini memudahkan kita untuk membuat, membaca, mengubah dan menghapus record-record di database, sembari menanganinya hampir seperti objek biasa, jadi kita tidak perlu menulis query apapun. Ia juga akan menangani relasi antara tabel-tabel. Ada keuntungan-keuntunga lainnya yang akan dibahas sejalan dengan tutorial ini. Lihat dokumentasi Doctrine jika anda ingin melihat info-info selanjutnya sekarang.

Berikut adalah ilustrasi mengenai cara kerja Doctrine dengan CodeIgniter:

Ilustrasi Cara Kerja Doctrine + CodeIgniter

Ilustrasi Cara Kerja Doctrine + CodeIgniter

Tahap Pertama: Persiapkan Lingkungan Pengembangan Anda

Jika anda sudah mempunyai web server dengan PHP dan MySQL, anda bisa melompati beberapa poin di bawah.

  • Download dan install WAMP (untuk Mac: MAMP)
    Untuk para pengguna Skype: Anda harus mematikan Skype terlebih dahulu sebelum anda menjalankan WAMP, dikarenakan ada konflik pada port yang digunakan. Setelah WAMP dijalankan, anda dapat menjalankan Skype kembali.
  • Masuk ke http://localhost/ di browser anda untuk memastikan bahwa web server anda sudah berjalan.
  • Buka folder “www” pada folder instalasi WAMP anda.
  • Buat folder baru dengan nama “ci_doctrine_day1″. Kita akan menaruh file-file kita di sini nantinya.

Install CodeIgniter

  • Download CodeIgniter
  • Extrak lalu kopi isi dari file instalasi CodeIgniter ke folder “ci_doctrine_day1″ yang baru dibuat
  • Hapus folder “user_guide” jika anda tidak memerlukannya (folder tersebut berisi dokumentasi mengenai CodeIgniter)

Folder baru anda akan tampak seperti di bawah ini:

Struktur Folder

Anda akan melihat tampilan seperti di bawah ini:

Tampilan Awal

Tutorial Singkat CodeIgniter: Controller

Controller dipanggil oleh Code Igniter setiap membuka halaman web. Controller terletak di:

system/application/controllers/

Struktur url-nya terlihat seperti di bawah ini:

http://localhost/ci_doctrine_day1/index.php/NAMA_CONTROLLER/NAMA_FUNGSI

Sebagai contoh anda dapat membuka url di bawah ini:

http://localhost/ci_doctrine_day1/index.php/hello/world

CodeIgniter akan mencari kelas controller bernama “Hello” dan memanggil fungsi bernama “world()”.

Sekarang kita akan membuat controller pertama kita.

Controller Pertama Kita

  • Buat file berikut: system/application/controllers/hello.php
    [sourcecode language="php"]
    // system/application/controllers/hello.php

    class Hello extends Controller {

    function world() {
    echo "Hello CodeIgniter!";
    }

    }
    [/sourcecode]

  • Masuk ke: http://localhost/ci_doctrine_day1/index.php/hello/world

Anda akan melihat seperti di bawah ini:

Hello CodeIgniter!

Harap diingat poin-poin di bawah ini:

  • Kelas controller harus meng-extend Controller
  • Nama kelas harus diawali dengan huruf kapital
  • Nama file harus huruf kecil semua

Untuk lebih lanjut anda bisa membaca artikel ini:

Install Doctrine

CodeIgniter memungkinkan kita untuk menambahkan plug-in. Itulah cara yang akan kita gunakan untuk menginstall Doctrine.

  • Buat folder: system/application/plugins
  • Buat folder: system/application/plugins/doctrine
  • Download Doctrine
  • Extrak file tersebut. Cari folder dengan nama “lib” di hasil ekstrak tersebut lalu kopi ke system/application/plugins/doctrine.

Sekarang struktur folder anda akan terlihat seperti di bawah ini:

Struktur Folder
  • Buat file plug-in: system/application/plugins/doctrine_pi.php
    [sourcecode language="php"]
    // system/application/plugins/doctrine_pi.php

    // load librari Doctrine
    require_once APPPATH.'/plugins/doctrine/lib/Doctrine.php';

    // load konfigurasi database dari CodeIgniter
    require_once APPPATH.'/config/database.php';

    // Ini memungkinkan Doctrine untuk me-load kelas-kelas Model secara otomatis
    spl_autoload_register(array('Doctrine', 'autoload'));

    // kita me-load koneksi database ke Doctrine_Manager
    // interasi ini memungkinkan kita untuk menggunakan banyak koneksi nantinya
    foreach ($db as $connection_name => $db_values) {

    // pertama kita harus mengkonversikan ke format dsn
    $dsn = $db[$connection_name]['dbdriver'] .
    ‘://’ . $db[$connection_name]['username'] .
    ‘:’ . $db[$connection_name]['password'].
    ‘@’ . $db[$connection_name]['hostname'] .
    ‘/’ . $db[$connection_name]['database'];

    Doctrine_Manager::connection($dsn,$connection_name);
    }

    // Kelas Model CodeIgniter perlu di-load
    require_once BASEPATH.’/libraries/Model.php’;

    // Memberitahukan Doctrine dimana model-model terletak
    Doctrine::loadModels(APPPATH.’/models’);

    // KONFIGURASI OPSIONAL

    // Ini memungkinkan kita untuk menggunakan “mutator”
    Doctrine_Manager::getInstance()->setAttribute(
    Doctrine::ATTR_AUTO_ACCESSOR_OVERRIDE, true);

    // Ini mengeset semua kolom tabel ke notnull dan unsigned (untuk tipe data integer) secara default
    Doctrine_Manager::getInstance()->setAttribute(
    Doctrine::ATTR_DEFAULT_COLUMN_OPTIONS,
    array(‘notnull’ => true, ‘unsigned’ => true));

    // Set default nama primary ke ‘id’, integer, 4 bytes
    Doctrine_Manager::getInstance()->setAttribute(
    Doctrine::ATTR_DEFAULT_IDENTIFIER_OPTIONS,
    array(‘name’ => ‘id’, ‘type’ => ‘integer’, ‘length’ => 4));
    [/sourcecode]

Baca komentar-komentar yang terdapat di kodingan di atas untuk penjelasan. Tidak masalah untuk saat ini jika anda tidak mengerti semuanya, kedepannya anda akan mengerti dengan sendirinya.

Setup dan Konfigurasi Database

  • Buka phpmyadmin: http://localhost/phpmyadmin/
  • Buat database dengan nama “ci_doctrine”
    Pembuatan Database
  • Edit file: system/application/config/database.php
  • Cari baris berikut dan masukkan isinya:
    [sourcecode language="php"]
    // di: system/application/config/database.php
    // …

    $db['default']['hostname'] = “localhost”;
    $db['default']['username'] = “root”;
    $db['default']['password'] = “”;
    $db['default']['database'] = “ci_doctrine”;

    // …
    [/sourcecode]

Kita baru saja mengubah file konfigurasi database dari CodeIgniter.

Konfigurasi Selanjutnya

Semoga pembaca belum capek untuk mengkofigurasi Doctrine hehe, tenang saja sebentar lagi akan seleasi kita mengkofigurasinya.

config.php

  • Ubah file: system/application/config/config.php
    [sourcecode language="php"]
    // di: system/application/config/config.php
    // …

    $config['base_url']    = “http://localhost/ci_doctrine_day1/”;

    // …
    [/sourcecode]

Sekarang CodeIgniter sudah mengetahui url dari situs kita.

autoload.php

  • Ubah file: system/application/config/autoload.php
    [sourcecode language="php"]
    // di system/application/config/autoload.php
    // …

    $autoload['plugin'] = array(‘doctrine’);

    // …
    [/sourcecode]

Ini memastikan bahwa plug-in Doctrine akan selalu di-load.

Selesai!

Sekarang kita dapat lanjut untuk otak-atik Doctrine hehe. Kita mulai dengan mengetes hasil setup kita.

Model Doctrine Pertama Kita

Buat Tabel User

  • Buka phpmyadmin: http://localhost/phpmyadmin/
  • Masuk ke database “ci_doctrine”
  • Buat tabel dengan nama “user” dan kolom sebagai berikut:
    id => int, primary key, auto_increment,
    username => varchar(255), unique,
    password => varchar(255),
    first_name => varchar(255),
    last_name => varchar(255)

Anda dapat menggunakan query di bawah ini untuk melakukan hal di atas:
[sourcecode language="sql"]
CREATE TABLE `ci_doctrine`.`user` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`username` VARCHAR( 255 ) NOT NULL ,
`password` VARCHAR( 255 ) NOT NULL ,
`first_name` VARCHAR( 255 ) NOT NULL ,
`last_name` VARCHAR( 255 ) NOT NULL ,
UNIQUE (
`username`
)
)
[/sourcecode]

Pembuatan Tabel

Membuat Model

  • Buat file: system/application/models/user.php
    [sourcecode language="php"]
    // system/application/models/user.php
    class User extends Doctrine_Record {

    public function setTableDefinition() {
    $this->hasColumn(‘username’, ‘string’, 255);
    $this->hasColumn(‘password’, ‘string’, 255);
    $this->hasColumn(‘first_name’, ‘string’, 255);
    $this->hasColumn(‘last_name’, ‘string’, 255);
    }

    }
    [/sourcecode]

Catatan:

  • Kita kali ini meng-extend Doctrine_Record, daripada Model (di mana ini biasanya kita lakukan di model-model CodeIgniter)
  • Di dalam fungsi setTableDefinition() kita harus mendefinisikan struktur tabel
  • Secara default, Doctrine akan mencari tabel dengan nama yang sama seperti kelas terkait. Dalam kasus ini “user” (ini bisa diganti sesuka anda).
  • Di file doctrine_pi.php di bagian sebelumnya dari artikel ini, kita telah menspesifikasikan untuk primar key default menggunakan “id”. Oleh karena itu kita tidak perlu menuliskannya lagi di dalam kelas User.

Mengetes Model: Menambahkan Beberapa User

  • Ubah controller yang kita buat sebelumnya: system/application/controllers/hello.php
    [sourcecode language="php"]
    // system/application/controllers/hello.php

    class Hello extends Controller {

    function world() {
    echo "Hello CodeIgniter!";
    }

    function user_test() {

    $u = new User;
    $u->username = ‘johndoe’;
    $u->password = ‘secret’;
    $u->first_name = ‘John’;
    $u->last_name = ‘Doe’;
    $u->save();

    $u2 = new User;
    $u2->username = ‘phprocks’;
    $u2->password = ‘mypass’;
    $u2->first_name = ‘Codeigniter’;
    $u2->last_name = ‘Doctrine’;
    $u2->save();

    echo “2 user telah berhasil ditambahkan”;
    }

    }
    [/sourcecode]

Kita baru saja membuat 2 objek, dan mengisinya dengan beberapa data. Hanya dengan memanggil fungsi save() akan menyimpan data-data tersebut ke dalam database, sangat mudah bukan  hehe.

Catatan:

  • Kita dapat mengakses field-field dari tabel sebagai paramater (contoh $u->username), walaupun kita sebetulnya tidak membuat parameter tersebut. Baik sekali kan Doctrine hehe :-) .
  • Jika anda sudah mengenal CodeIgniter, makan anda tentu ingat bahwa kita pelu memanggil fungsi $this->load->model() untuk me-load model. Namun berhubung kita sudah meregistrasikan fungsi autoload Doctrine, hanya menulis “new User()” sudah cukup
  • Kita tidak membuat fungsi “save()”, karena fungsi tersebut terdapat di kelas Doctrine_Record yang kita extend. Fungsi tersebut menyimpan objek-objek ke dalam database. Ada banyak fungsi-fungsi lainnya yang dapat kita gunakan sebetulnya, kita akan menggunakannya nanti sejalan dengan artikel berseri ini.
  • Buka: http://localhost/ci_doctrine_day1/index.php/hello/user_test

Anda akan melihat tampilan seperti di bawah ini:

2 user telah berhasil ditambahkan

OK! Sekarang anda akan melihat 2 record baru telah dibuat

Hasil Pemasukan Objek

Stay Tuned

Kita baru saja melihat bagaimana caranya meng-install dan men-setup CodeIgniter dengan Doctrine. Agak banyak yang kita lakuakan memang, namun sekarang kita sudah mendapatkan framework MVC yang kuat dan kombinasi dengan ORM.

Di tutorial selanjutnya, kita akan mecoba contoh-contoh yang lebih praktikal dan nantinya akan membuat website yang berfungsi. Anda akan melihat bagaimana mudahnya membuat model dengan menggunakan Doctrine dan mengirit waktu dari harus menulis kodingan CRUD (Create, Read, Update, Delete) berulang-ulang di semua model-model.

Doctrine juga membantu kita untuk menangani relasi antar kelas, dan menghindari kita dari menuliskan kodingan serta query yang kompleks.

Sampai ketemu di seri berikutnya!

Burak Guzel
Filed in: TeknoGuide Tags: , , , ,
Rock It!



Related Posts

  • http://- arfriandi

    terima kasih atas tutorialnya…seandainya saya bisa mengetahui ym anda…saya bisa chat dengan anda dan belajar dari anda…
    sebelumnya saya ucapkan terima kasih

    • http://www.kapta.us/ Firman Nugraha

      iya sama-sama hehe, untuk ym saya bisa kontak saya di j_fire_man@yahoo.com

      Saya sering ol kalau malam

  • http://www.kapta.us/ Firman Nugraha

    iya sama-sama hehe, untuk ym saya bisa kontak saya di j_fire_man@yahoo.com

    Saya sering ol kalau malam

  • Agni

    wow it’s wonderfull tutuorial
    2 thumb’s

    • http://www.kapta.us/ Firman Nugraha

      hehe terima kasih buat dukungannya :cendol

  • Agni

    wow it’s wonderfull tutuorial
    2 thumb’s

    • http://www.kapta.us/ Firman Nugraha

      hehe terima kasih buat dukungannya :cendol

  • wijayanti

    wah tutorialnya bagus..sama satu kuliah ni..aku lgi nyoba buat web php oracle..bisa kah sharing2 ilmunya..bisnya kebanykan artikel php-mySql..

    • http://www.kapta.us/ Firman Nugraha

      ahahaha sama-sama, yang ccit apa pnj nie? duh maaf kalo oracle hehe, bukan primary rdmbs yang dipake sama saya, pas kuliah aja dipelajarin ntu.

  • wijayanti

    wah tutorialnya bagus..sama satu kuliah ni..aku lgi nyoba buat web php oracle..bisa kah sharing2 ilmunya..bisnya kebanykan artikel php-mySql..

    • http://www.kapta.us/ Firman Nugraha

      ahahaha sama-sama, yang ccit apa pnj nie? duh maaf kalo oracle hehe, bukan primary rdmbs yang dipake sama saya, pas kuliah aja dipelajarin ntu.

  • http://duniamatahari.wordpress.com/ Hadyan

    GREAT!!

    kebetulan saya lagi bikin penulisan ilmiah ni,, tentang e-commerce pake CI..

    kalo berkenan bolehlah sharing ilmunya ya mas.. YM mas Firman sudah saya add,,
    makasih.. :)

    • http://www.kapta.us/ Firman Nugraha

      hehe iya silahkan, saya ol biasanya dari pagi sampai sore

  • http://duniamatahari.wordpress.com/ Hadyan

    GREAT!!

    kebetulan saya lagi bikin penulisan ilmiah ni,, tentang e-commerce pake CI..

    kalo berkenan bolehlah sharing ilmunya ya mas.. YM mas Firman sudah saya add,,
    makasih.. :)

    • http://www.kapta.us/ Firman Nugraha

      hehe iya silahkan, saya ol biasanya dari pagi sampai sore

  • Insan Fana

    Tutorial yang sangat bagus dan sangat bermanfaat. BTW mohon pencerahannya. Soalnya masih gaptek.. :d

    • http://www.kapta.us/ Firman Nugraha

      ahahaha iya tanya-tanya aja, sebisa mungkin kamu saya bantu

  • Insan Fana

    Tutorial yang sangat bagus dan sangat bermanfaat. BTW mohon pencerahannya. Soalnya masih gaptek.. :d

    • http://www.kapta.us/ Firman Nugraha

      ahahaha iya tanya-tanya aja, sebisa mungkin kamu saya bantu

  • Maaz

    wah, nice post.

    minta izin ambil YM-nya boleh nggak?
    klo boleh kan bisa tanya2.

    • http://www.kapta.us/ Firman Nugraha

      silahkan hehe

  • Maaz

    wah, nice post.

    minta izin ambil YM-nya boleh nggak?
    klo boleh kan bisa tanya2.

    • http://www.kapta.us/ Firman Nugraha

      silahkan hehe

  • resti

    terimakasih tutorialnya sangat membantu sekali dalam penyusunan TA saya, mau tanya pernah buat web dengan MVC?menurut anda apa keuntungannya dari segi teknisnya??terimakasih.

    • http://www.kapta.us/ Firman Nugraha

      Saya sudah beberapa kali membuat web menggunakan metode MVC. Kalo menurut saya pribadi, keuntungannya:
      1. Mempermudah strukturisasi kodingan
      2. Framework MVC menyediakan banyak fungsi-fungsi umum di web, seperti login, paging, dan lain-lain
      3. Manajemen fungsi dan variabel di kodingan menjadi lebih mudah
      4. Kodingan query SQL menjadi jauh lebih mudah
      5. Keamanan data dapat diproteksi dengan mudah tanpa harus menjadi expert di bidang keamanan data

      itu yang terlintas di pikiran saya hehe walaupun masih banyak lagi keunggulannya

  • resti

    terimakasih tutorialnya sangat membantu sekali dalam penyusunan TA saya, mau tanya pernah buat web dengan MVC?menurut anda apa keuntungannya dari segi teknisnya??terimakasih.

    • http://www.kapta.us/ Firman Nugraha

      Saya sudah beberapa kali membuat web menggunakan metode MVC. Kalo menurut saya pribadi, keuntungannya:
      1. Mempermudah strukturisasi kodingan
      2. Framework MVC menyediakan banyak fungsi-fungsi umum di web, seperti login, paging, dan lain-lain
      3. Manajemen fungsi dan variabel di kodingan menjadi lebih mudah
      4. Kodingan query SQL menjadi jauh lebih mudah
      5. Keamanan data dapat diproteksi dengan mudah tanpa harus menjadi expert di bidang keamanan data

      itu yang terlintas di pikiran saya hehe walaupun masih banyak lagi keunggulannya

  • http://www.eiostudio.com gambasvb

    webnya keren mas… ikut nyimak… sukses selalu… :cendol

    • http://www.kapta.us/ Firman Nugraha

      iya sama-sama hehe

  • http://www.eiostudio.com gambasvb

    webnya keren mas… ikut nyimak… sukses selalu… :cendol

    • http://www.kapta.us/ Firman Nugraha

      iya sama-sama hehe

  • ahmal

    mas, bisa minta tolong gmana caranya import file csv ke table sql pake code igniter

    soalnya saya ada kerjaan bikin contact management module, jadi file csv yg isinya data kontak sejumlah orang langsung masuk ke database kita

    • http://www.kapta.us/ Firman Nugraha

      hmmmmmm kalo gak salah ci support pemrosesan file csv, cuma saya belum pernah mencobanya. mungkin bisa dicoba cek dokumentasiny codeigniter / doctrine

  • ahmal

    mas, bisa minta tolong gmana caranya import file csv ke table sql pake code igniter

    soalnya saya ada kerjaan bikin contact management module, jadi file csv yg isinya data kontak sejumlah orang langsung masuk ke database kita

    • http://www.kapta.us/ Firman Nugraha

      hmmmmmm kalo gak salah ci support pemrosesan file csv, cuma saya belum pernah mencobanya. mungkin bisa dicoba cek dokumentasiny codeigniter / doctrine

  • nitha

    sore,,, thanks sudah kasih sudah share ilmu untuk newbie seperti aq.. :)

    berkenankah jika saya add YM anda?? karena saya ingin bertanya tentang codeigniter

    thanks

    • http://www.sponsio.net Firman Nugraha

      iya silahkan hehe, tapi kalo jam kerja saya biasanya agak lemot bales chat ym-nya

  • nitha

    sore,,, thanks sudah kasih sudah share ilmu untuk newbie seperti aq.. :)

    berkenankah jika saya add YM anda?? karena saya ingin bertanya tentang codeigniter

    thanks

    • http://www.sponsio.net Firman Nugraha

      iya silahkan hehe, tapi kalo jam kerja saya biasanya agak lemot bales chat ym-nya

  • Anshar Tomaru

    Thnks Tutorialnya…!!!

  • Anshar Tomaru

    Thnks Tutorialnya…!!!

  • http://muhammadghazali.web.id/ Muhammad Ghazali

    Halo firman! :)
    Tutorial yang sangat menarik sekali. Btw, sekedar menambahkan berdasarkan pengalaman. Keunggulannya
    1. Untuk memisahkan antara bisnis logic, dan view.

    Mungkin teman-teman juga bisa membaca tentang MVP yang menurut saya serupa dengan MVC. [1]

    [1] http://en.wikipedia.org/wiki/Model-view-presenter

    • http://www.sponsio.net Firman Nugraha

      hehe, terima kasih buat masukannya

  • http://muhammadghazali.web.id/ Muhammad Ghazali

    Halo firman! :)
    Tutorial yang sangat menarik sekali. Btw, sekedar menambahkan berdasarkan pengalaman. Keunggulannya
    1. Untuk memisahkan antara bisnis logic, dan view.

    Mungkin teman-teman juga bisa membaca tentang MVP yang menurut saya serupa dengan MVC. [1]

    [1] http://en.wikipedia.org/wiki/Model-view-presenter

    • http://www.sponsio.net Firman Nugraha

      hehe, terima kasih buat masukannya

  • http://cibinong.bogorkab.go.id Suseno

    mas Firman

    saya adamasalah saat menjalankan dibrowser

    Parse error: syntax error, unexpected T_OBJECT_OPERATOR in D:\AppServ\www\suse\system\plugins\doctrine_pi.php on line 35

    $db_values) {

    // first we must convert to dsn format
    $dsn = $db[$connection_name]['dbdriver'] .
    ‘://’ . $db[$connection_name]['username'] .
    ‘:’ . $db[$connection_name]['password'].
    ‘@’ . $db[$connection_name]['hostname'] .
    ‘/’ . $db[$connection_name]['database'];

    Doctrine_Manager::connection($dsn,$connection_name);
    }

    // CodeIgniter’s Model class needs to be loaded
    require_once BASEPATH.’/libraries/Model.php’;

    // telling Doctrine where our models are located
    Doctrine::loadModels(APPPATH.’/models’);

    // (OPTIONAL) CONFIGURATION BELOW

    // this will allow us to use “mutators”
    Doctrine_Manager::getInstance()->setAttribute(
    Doctrine::ATTR_AUTO_ACCESSOR_OVERRIDE, true);

    // this sets all table columns to notnull and unsigned (for ints) by default
    Doctrine_Manager::getInstance()->setAttribute(
    Doctrine::ATTR_DEFAULT_COLUMN_OPTIONS,
    array(’notnull’ => true, ‘unsigned’ => true));

    // set the default primary key to be named ‘id’, integer, 4 bytes
    Doctrine_Manager::getInstance()->setAttribute(
    Doctrine::ATTR_DEFAULT_IDENTIFIER_OPTIONS,
    array(’name’ => ‘id’, ‘type’ => ‘integer’, ‘length’ => 4));

    //////////////////////////////
    autoload.php
    /////////////////////////////

    ?? disebabkan saat saya mengubah autoload.php

    $autoload['plugin'] = array(’doctrine’);

    • http://www.sponsio.net Firman Nugraha

      line 35 itu dimana ya?

  • http://cibinong.bogorkab.go.id Suseno

    mas Firman

    saya adamasalah saat menjalankan dibrowser

    Parse error: syntax error, unexpected T_OBJECT_OPERATOR in D:AppServwwwsusesystempluginsdoctrine_pi.php on line 35

    $db_values) {

    // first we must convert to dsn format
    $dsn = $db[$connection_name]['dbdriver'] .
    ‘://’ . $db[$connection_name]['username'] .
    ‘:’ . $db[$connection_name]['password'].
    ‘@’ . $db[$connection_name]['hostname'] .
    ‘/’ . $db[$connection_name]['database'];

    Doctrine_Manager::connection($dsn,$connection_name);
    }

    // CodeIgniter’s Model class needs to be loaded
    require_once BASEPATH.’/libraries/Model.php’;

    // telling Doctrine where our models are located
    Doctrine::loadModels(APPPATH.’/models’);

    // (OPTIONAL) CONFIGURATION BELOW

    // this will allow us to use “mutators”
    Doctrine_Manager::getInstance()->setAttribute(
    Doctrine::ATTR_AUTO_ACCESSOR_OVERRIDE, true);

    // this sets all table columns to notnull and unsigned (for ints) by default
    Doctrine_Manager::getInstance()->setAttribute(
    Doctrine::ATTR_DEFAULT_COLUMN_OPTIONS,
    array(’notnull’ => true, ‘unsigned’ => true));

    // set the default primary key to be named ‘id’, integer, 4 bytes
    Doctrine_Manager::getInstance()->setAttribute(
    Doctrine::ATTR_DEFAULT_IDENTIFIER_OPTIONS,
    array(’name’ => ‘id’, ‘type’ => ‘integer’, ‘length’ => 4));

    //////////////////////////////
    autoload.php
    /////////////////////////////

    ?? disebabkan saat saya mengubah autoload.php

    $autoload['plugin'] = array(’doctrine’);

    • http://www.sponsio.net Firman Nugraha

      line 35 itu dimana ya?

  • ruddy

    Kalo Bikin Validasi angka atau Huruf Pada CodeIgniter itu bisa ga di lakukan sebelum proses??

    • http://www.sponsio.net Firman Nugraha

      setau saya gak bisa, harus pake javascript kalau mau seperti itu

  • ruddy

    Kalo Bikin Validasi angka atau Huruf Pada CodeIgniter itu bisa ga di lakukan sebelum proses??

    • http://www.sponsio.net Firman Nugraha

      setau saya gak bisa, harus pake javascript kalau mau seperti itu

  • Muhamadalif90

    saya ijin untuk menjadikan tulisan anda sebagai referensi untuk makalh kuliah saya….terim kasih

    • http://www.teknojurnal.com/ Firman Nugraha

      silahkan tapi perlu dicatat saya cuma translate aja artikel ini seijin penulis aslinya :)

  • ulysess

     mas…mau nanya, paket doctrine yg harus didonlot itu smwnya ya?? ato cuma dipilih satu??

  • ulysess

    mas nanya donk.. itu paket Doctrine-nya hrs didonlot smw??ato kita cuma pake beberapa paket??

© 6094 TeknoJurnal. All rights reserved. XHTML / CSS Valid.
Proudly designed by Theme Junkie.