2012-04-18

Bab 03 - Menggunakan CI


Pendahuluan  
Setelah berhasil menggunakan FTP dan menginstal CI secara sederhana, mari mulai membuat CI sesuai kebutuhan kita. Untuk memulai mari mengedit application/config/routes.php
sebenarnya isi routes adalah sebagai berikut:
$route['default_controller'] = "welcome";
Ubah
$route['default_controller'] = “rumah”;
dimana controller yang pertama kali di buka adalah home. Hapus kata-kata ‘Welcome’ lalu ganti dengan home atau nama yang anda kehendaki. Kemudian buka application/controler
buat file home.php lalu edit dan masukkan ini
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class rumah extends CI_Controller {
/*Halaman utama*/
       public function index()
       {
               $this->load->view('welcome_message');
       }
}
Atau dapat dilihat di Pastebin.com (klik linknya)

Membuat view

jalankan maka hasil yang didapat akan sama seperti saat pertama kali kita gunakan. Berikutnya kita akan membuat view sendiri, untuk namanya saya meminta memakai nama rumah_view. Di tutorial lain mungkin akan menyuruh anda memakai nama mirip dengan controler, tetapi saya lebih mementingkan anda tidak kebingungan saat melakukan edit data. Karena bila file yang dibuka sangat banyak, maka akan membuat anda kerepotan. Setidaknya dengan penamaan yang berbeda akan sedikit membantu.
Buka application/views dan buat file bernama rumah_view.php lalu isi
<!DOCTYPE html>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<head>
       <title><?php echo $title;?></title>
        
</head>
<body>
HALAMAN CI PERTAMAKU
</body>
</html>
atau bisa di download di pastebin.com
Hore.. Anda berhasil membuat halaman pertama.. Tetapi coba perhatikan judulnya!! kenapa tulisannya aneh?!? coba lakukan view source.. dan anda akan melihat ini
  1. <!DOCTYPE html>
  2. <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3. <head>
  4.        <title><div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
  5. <h4>A PHP Error was encountered</h4>
  6. <p>Severity: Notice</p>
  7. <p>Message:  Undefined variable: title</p>
  8. <p>Filename: views/rumah_view.php</p>
  9. <p>Line Number: 4</p>
  10. </div></title>
  11.         
  12. </head>
  13. <body>
  14. HALAMAN CI PERTAMAKU
  15. </body>
  16. </html>
Yang saya berikan kuning adalah error yang ditampilkan di CI. Bila anda perhatikan pada pembahasan sebelumnya, kita mengetahui bahwa ini semua terjadi karena kita tidak menentukan nilai title ($title). Tetapi nilai variable title bukan di bikin di rumah_view.php melainkan di controller. Mari kembali ke rumah.php
edit di fungsi index seperti demikian
public function index()
       {
           $d['title']='JUDULKU';
           $this->load->view('rumah_view', $d);
       }
Atau selengkapnya dapat diambil di pastebin.com
Saat di reload, maka hasilnya akan normal. Konsep dari  controler adalah pada perintah ini
$this->load->view('rumah_view', $d);
Script akan memanggil rumah_view dengan memberikan data2 (variable) yang terdapat di Array $d.

PENUTUP BAB

Mari melakukan pengamanan, secara standar kita mendapati halaman depan terdiri dari
  • index.php
  • application (folder)
  • user_guide (folder)
  • system (folder)
Untuk keamanan, saya menyarankan untuk mengganti nama foldernya menjadi nama lain. Dalam contoh ini saya akan mengubah
  • Application menjadi jkeren
  • System menjadi CI
karena perubahan ini, kamu wajib untuk mengubah index.php
  1. <?php
  2. /*biarkan valuenya*/
  3.        define('ENVIRONMENT', 'development');
  4. if (defined('ENVIRONMENT'))
  5. {
  6.        switch (ENVIRONMENT)
  7.        {
  8.                case 'development':
  9.                        error_reporting(E_ALL);
  10.                break;
  11.       
  12.                case 'testing':
  13.                case 'production':
  14.                        error_reporting(0);
  15.                break;
  16.                default:
  17.                        exit('The application environment is not set correctly.');
  18.        }
  19. }
  20. /* Yang di ubah */
  21. $system_path = 'ci';
  22. $application_folder = 'jkeren';
  23.        if (defined('STDIN'))
  24.        {
  25.                chdir(dirname(__FILE__));
  26.        }
  27.        if (realpath($system_path) !== FALSE)
  28.        {
  29.                $system_path = realpath($system_path).'/';
  30.        }
  31.        $system_path = rtrim($system_path, '/').'/';
  32.        if ( ! is_dir($system_path))
  33.        {
  34.                exit("Your system folder path does not appear to be set correctly.
  35. Please open the following file and correct this: ".pathinfo(__FILE__, PATHINFO_BASENAME));
  36.        }
  37.        define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));
  38.        define('EXT', '.php');
  39.        define('BASEPATH', str_replace("\\", "/", $system_path));
  40.        define('FCPATH', str_replace(SELF, '', __FILE__));
  41.        define('SYSDIR', trim(strrchr(trim(BASEPATH, '/'), '/'), '/'));
  42.        if (is_dir($application_folder))
  43.        {
  44.                define('APPPATH', $application_folder.'/');
  45.        }
  46.        else
  47.        {
  48.                if ( ! is_dir(BASEPATH.$application_folder.'/'))
  49.                {
  50.                        exit("Your application folder path does not appear to be set correctly.
  51. Please open the following file and correct this: ".SELF);
  52.                }
  53.                define('APPPATH', BASEPATH.$application_folder.'/');
  54.        }
  55. require_once BASEPATH.'core/CodeIgniter.php';
  56. /* End of file index.php */
  57. /* Location: ./index.php */

Atau dapat di ambil di pastebin.com
Inti perubahannya ada di no 23 dan 24
  • $system_path = 'ci';
  • $application_folder = 'jkeren';

Pelajaran berikutnya adalah seputar memakai database
Source: Dokumen Yang dapat dibaca.

Tidak ada komentar: