phalcon framework
Tutorial CRUD dengan Phalcon framework Part 1 , Input data atau Insert Data dari database
Baiklah setelah sebelumnya membahas mengenai Konsep MVC framework Phalcon, sekarang saya akan membahas mengenai CRUD(Create Read UpdateDelete) dengan phalcon framework.
Namun saya akan memberikan toturial yang dibagi dalam 5 bagian yaitu :
Part 1 : Insert data /Input Data dengan phalcon framework
Part 2 : Menampilkan data dengan phalcon framework
Part 3 : Update data/edit data dengan phalcon framework
Part 4 : Delete data / hapus data dengan phalcon framework
Part 5 : Pencarian dengan phalcon framework
Phalcon framework berkonsep MVC(Model View Control) dan mendukung metode ORM . Apabila anda belum memahami mengenai MVC ada baiknya anda membaca dulu mengenai konsep MVC.
Apabila kita ingin menampilkan data tentu kita harus membuat file pada view lalu phalcon akan membaca file view tersebut yang dipanggil oleh controller. Phalcon framework memiliki dua tipe data file untuk membuat view yaitu "*.volt" dimana .volt adalah view yang didukung oleh framework phalcon dan "*.phtml"(*Cat : *.phtml sama saja dengan .php isi dari syntaxnya).
Oke langsung saja, pertama-tama kita buat database , dalam contoh tutorial ini saya beri nama database : test_phalcon.
Setelah itu kita buat tabel bernama tabel "user" , sehingga query sql nya adalah :
CREATE TABLE IF NOT EXISTS `user` ( `id_user` int(11) NOT NULL AUTO_INCREMENT, `nama_user` varchar(100) NOT NULL, `email_user` varchar(100) NOT NULL, PRIMARY KEY (`id_user`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Oke tabel dan database sudah terbuat selanjutnya kita memulai dengan phalcon framework untuk menampilkan data dari database. Pada folder htdocs/phalcon_project (jika anda belum ada folder phalcon_project ada baiknya anda baca terlebih dahulu mengenai pembuatan project dengan phalcon framework) Sekarang kita akan setting config.php pada app\config\config.php
rubah dbname dengan 'test_phalcon'.
sehingga isi dari config.php :
<?php return new \Phalcon\Config(array( 'database' => array( 'adapter' => 'Mysql', 'host' => 'localhost', 'username' => 'root', 'password' => '', 'dbname' => 'test_phalcon', ), 'application' => array( 'controllersDir' => __DIR__ . '/../../app/controllers/', 'modelsDir' => __DIR__ . '/../../app/models/', 'viewsDir' => __DIR__ . '/../../app/views/', 'pluginsDir' => __DIR__ . '/../../app/plugins/', 'libraryDir' => __DIR__ . '/../../app/library/', 'cacheDir' => __DIR__ . '/../../app/cache/', 'baseUri' => '/phalcon_project/', ) ));Lalu setelah itu , buat controller baru dengan nama "UserController.php"(tanpa tanda kutip)pada folder app/controllers .
Isi dari UserController.php :
<?php class UserController extends ControllerBase { public function indexAction() { } }Setelah itu buat folder dengan nama "User" (tanpa kutip) pada folder views , lalu buat file dengan nama index.volt
isi dari index.volt :
{{ form('user/create', 'role': 'form') }} <label for="name">Nama</label> <input type="text" name="txt_nama"> <br> <label for="email">Email</label> <input type="text" name="txt_email"> <br> <button type="submit">Save</button> </form>Lalu buka http://localhost/phalcon_project/user pada browser , maka akan muncul :
Penjelaan dari index.volt :
{{ form('user/create') }}
form yang bertujuan memberikan action ke controller bernama userController dan mengarah ke method createAction.
Setelah itu buat model dengan User.php (*Cat : Nama model harus sama dengan nama tabel yang diawali dengan huruf besar,contoh nama tabel = user maka model adalah =User.php)
Isi dari User.php :
<?php class User extends \Phalcon\Mvc\Model { public $id_user; // field id_user dalam tabel public $nama_user; // field nama_user dalam tabel public $email_user;// field email_user dalam tabel }
Pembuatan model , harus diisi dengan nama-nama field dari tabel namun ada beberapa aturan dalam penamaan field dalam variabel yang disimpan dimodel , contoh :
Nama field = "id_user" maka dalam model diisi dengan "idUser" , contoh lain nama field "nama_user" maka "namaUser".
Setelah itu kita kembali buka UserController.php dan tambahkan script berikut kedalam UserController.php :
public function createAction() { $user = new User(); $user->nama_user = $this->request->getPost("txt_nama"); $user->email_user = $this->request->getPost("txt_email"); if (!$user->save()) { echo "Gagal Disimpan"; } else { echo "Data Berhasil Disimpan"; } }
Penjelasan method diatas :
$user->nama_user = $this->request->getPost("txt_nama");
$user->email_user = $this->request->getPost("txt_email");
field dengan nama "nama_user" akan diisi langsung oleh textbox yang dikirim dari form pada view index.volt dengan nama txt_nama , begitu juga dengan email_user.
if (!$user->save()) {
echo "Gagal Disimpan";
}
else
{
echo "Data Berhasil Disimpan";
}
Jika data gagal disimpan maka akan muncul text "gagal disimpan" apabila berhasil maka akan muncul text "Data Berhasil Disimpan".
Maka isi seluruh dari UserController.php :
<?php class UserController extends ControllerBase { public function indexAction() { } public function createAction() { $user = new User(); $user->nama_user = $this->request->getPost("txt_nama"); $user->email_user = $this->request->getPost("txt_email"); if (!$user->save()) { echo "Gagal Disimpan"; } else { echo "Data Berhasil Disimpan"; } } }
Ok sekarang anda buka pada browser alamat http://localhost/phalcon_project/user/ masukan isian form tiap field dan ...... Selamat Part 1 crud dengan phalcon sudah selesai !!!
Let's go to part 2 crud dengan phalcon framework ... go flying with phalcon !!
Download File lengkap nya dibawah ini:
Flying
Database :
Link Database
Posting Komentar
9 Komentar
Nice info gan ijin share lagi butuh nih buat project di kantor mantap laaah !!
BalasHapusSiap , discuss aja disini kalau ada yg bingung
HapusPermisi, mau tanya mas. berarti project phalcon itu tidak bisa dijalankan tanpa phalcon ya? jadi kita harus install dulu di vps? yah berarti framework memang belum cocok buat pemula seperti saya ini :D
BalasHapusKang mau nanya, itu yang pas bagian pembuatan model
BalasHapusharus sama dengan nama database yang dibuat + diawali huruf besar
kalo case nya membutuhkan join table kumaha?
permisi mau tanya mas, kalau datanya "gagal disimpan" gimana ya solusinya tu mas??
BalasHapusmakasih :)
Thanks om tapi errors ini
BalasHapushandler class cannot be loaded itu apa ya padahal saya udah coba ikuti tutorial dari awal berulang-ulang
nice tutorial gan
BalasHapustrims tutorialnya bos, sederhana dan mudah saya pahami, semoga sukses selalu
BalasHapusTerimakasih telah berkunjung gan. Sukses selalu juga..
Hapus