Jumat, 04 Juli 2014

Membuat CRUD dengan Zend DB pada Zend Framework 2 (Part I)

Sebelumnya, saya telah menulis cara untuk menginstall Zend Framework2, membuat Module, Penggunaan form, dan penggunaan filter untuk validation pada Zend Framework 2. untuk itu, sudah saatnya kita masuk pada tahap CRUD (Create Read Update Delete), dimana nanti form yang telah kita buat seperti tahap sebelumnya bisa menyimpan ke database. untuk hal seperti itu kita menggunakan Zend DB, untuk caranya ikuti langkah berikut ini :
  1. Buat database anda terlebih dahulu.
  2. Buat tabel database anda seperti berikut :
    CREATE TABLE user (
    id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
    name TEXT NOT NULL,
    email VARCHAR(255) NOT NULL,
    password TEXT NOT NULL,
    PRIMARY KEY (id),
    UNIQUE INDEX idx_email(email)
    );
  3. Buatlah Koneksi antara Zend  Framework dan database dengan cara masuk pada folder <Application_Home>/config/autoload/global.php
  4. Buatlah Source code seperti berikut yang berisikan tentang nama databse, user database, dan password database  anda seperti berikut ini :
    return array(
    'db' => array(
    'driver' => 'Pdo',
    'dsn' => 'mysql:dbname=yourdatabasename;host=localhost',
    'username' => 'yourusernamedatabase,
    'password' => 'yourpassworddatabase',
    'driver_options' => array(
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
    ),
    ),
    'service_manager' => array(
    'factories' => array(
    'Zend\Db\Adapter\Adapter'
    => 'Zend\Db\Adapter\AdapterServiceFactory',
    ),
    ),
    );

Kamis, 12 Juni 2014

Memperbaiki Request URL/PhpMyadmin was not found on this server

Sebelumnya  saya menginstall Apache2 PHP5 dan PhpMyadmin dengan command seperti dibawah ini :
  • sudo apt-get install apache2 php5 phpmyadmin
Ketika setelah selesai menginstall ketiganya maka dicoba satu persatu, dan pada percobaan PhpMyadmin terjadi kesalahan seperti berikut :

Not Found
The requested URL /phpmyadmin was not found on this server.
Apache/2.2.22 (Ubuntu) Server at localhost Port 80

untuk memperbaikinya anda check apache config dengan memasukan command berikut :
  • sudo nano /etc/phpmyadmin/apache.conf
setelah terbuka anda tuliskan command berikut dibawah sekali. 

Include /etc/phpmyadmin/apache.conf

langkah terakhir restart apache anda :
  • sudo /etc/init.d/apache restart

Senin, 09 Juni 2014

Update PHP 5.3.10 ke PHP 5.5.x pada Elementary OS dan Ubuntu 12.04 LTS

Disini penulis menggunakan Elementary OS Luna, yang dimana Elementary OS Luna yang saya pakai ini PHP5 memakai  PHP version 5.3.12. Untuk PHP5 sendiri telah update sampai PHP version 5.5.x , untuk mengupdate itu dapat digunakan cara berikut ini yaitu :
  1. Perbarui APT Source anda dan buka source list anda di /etc/apt/sources.list
  2. Setelah diperbarui jalankan sudo apt-get clean dan sudo apt-get update pada terminal anda.
  3. Upgrade/update semuanya ( sudo apt-get  dist-upgrade )
  4. Tambahkan PPA repository  pytho-software-properties ( sudo add-apt-repository ppa:ondrej/php5 && ppa:ondrej/php5-oldstable )
  5. Selanjutnya anda install python-software-properties  ( sudo apt-get install python-software-properties )
  6. Kemudian upgrade dan update  ( sudo apt-get update && apt-get dist-upgrade )
  7. Lalu coba anda periksa phpinfonya dengan cara masuk ke browser localhost/info.php

Selesai :D

Senin, 26 Mei 2014

Membuat Form validation dengan Zend Filter Pada Zend Framework 2

Form validation berfungsi untuk membuat inputan form yang dimana form tersebut haruslah benar-benar terisi atau form tersebut tidak boleh kosong, tidak hanya itu saja form validation juga bisa menentukan jenis type apa saja yang bisa dipakai dalam form tersebut. Pada Zend Framework 2 telah tersedia yang namanya zend filter yang berguna untuk membuat dorm validation, dimana untuk menggunakannya sangat gampang dan mudah sekali yaitu hanya dengan memanggil library zend filter maka form validation yang ingin kita buat akan berjalan dengan lancar.

Untuk membuat form validation dengan mengguanakan zend filter dapat kita buat dengan cara sebagai berikut :

Kamis, 08 Mei 2014

Membuat Form pada Zend Framework 2


Form biasanya dibuat dengan menggunakan HTML, berbeda dengan zend framework yang dimana telah mempunyai segalanya pada Zend/Form. Hanya cukup dipanggil saja element yang nantinya ingin dipakai pada halaman formulir yang ingin anda buat.

Untuk membuat form pada zend dapat dilakukan dengan cara berikut ini :
  1. Buatlah folder form terlebih dahulu di src/Users/
  2. Jika telah selesai membuat folder form, anda buat file RegistrationForm.php dan masukan source code berikut ini :
    <?php
    //filename : module/Users/src/Users/Form/RegisterForm.php
    namespace Users\Form;
    use Zend\Form\Form;
    class RegisterForm extends Form
    {
    public function __construct($name = null)
    {
    parent::__construct('Register');
    $this->setAttribute('method','post');
    $this->setAttribute('enctype','multipart/form-data');
    $this->add(array(
    'name'=>'name',
    'atributes'=>array(
    'type'=>'text',
    ),
    'options'=>array(
    'label'=>'Full Name',
    ),
    ));
    $this->add(array(
    'name'=>'email',
    'attributes'=>array(
    'type'=>'email',
    ),
    'options'=>array(
    'label'=>'Email',
    ),
    'atributes'=>array(
    'required'=>'required',
    ),
    'filters'=>array(
    array('name'=>'StringTrim'),
    ),
    'validators'=>array(
    array(
    'name'=>'EmailAddress',
    'options'=>array(
    'messages'=>array(
    \Zend\Validator\EmailAddress::INVALID_FORMAT=>'Email address format is invalid'
    )
    )
    )
    )
    ));
    $this->add(array(
    'name'=>'password',
    'attributes'=>array(
    'type'=>'password',
    ),
    'options'=>array(
    'label'=>'Password'
    ),
    ));
    $this->add(array(
    'name'=>'confirm_password',
    'attributes'=>array(
    'type'=>'password',
    ),
    'options'=>array(
    'label'=>'Confirm Password'
    ),
    ));
    $this->add(array(
    'name'=>'submit',
    'attributes'=>array(
    'type'=>'submit',
    'value'=>'Register',
    'id'=>'submitbutton',
    ),
    ));
    }
    }