17 July 2019

5 Menit Belajar Codeigniter 3


Halo teman-teman. Bagaimana caranya belajar Codeigniter dalam 5 Menit? Ya, kali ini saya akan membahas cara belajar codeigniter super cepat.
Beberapa hal harus disiapkan adalah:
- Server apache, dalam hal ini saya menggunakan xampp.
- file project Codeigniter 3 (bisa diunduh di webnya).
logo codeigniter brilliansolution
Codeigniter

Static Pages

Langkah-langkah:
-          Buat controller:
<?php
class Pages extends CI_Controller {
 
        public function view($page = 'home')
        {
        }
}
 
-          Buat view:
Head.php
<html>
        <head>
                <title>CodeIgniter Tutorial</title>
        </head>
        <body>
 
                <h1><?php echo $title; ?></h1>
Footer.php
                <em>&copy; 2015</em>
        </body>
</html>

-          Tambahkan logic untuk render view:
public function view($page = 'home')
{
        if ( ! file_exists(APPPATH.'views/pages/'.$page.'.php'))
        {
                // Whoops, we don't have a page for that!
                show_404();
        }
 
        $data['title'] = ucfirst($page); // Capitalize the first letter
 
        $this->load->view('templates/header', $data);
        $this->load->view('pages/'.$page, $data);
        $this->load->view('templates/footer', $data);
}

-          Routing:
$route['default_controller'] = 'pages/view';
$route['(:any)'] = 'pages/view/$1';
 
 

Simple DB Codeigniter

Load database library:
$this->load->database();
 

SELECT

Object version

$query = $this->db->query('SELECT name, title, email FROM my_table');
foreach ($query->result() as $row)
{
        echo $row->title;
        echo $row->name;
        echo $row->email;
}
echo 'Total Results: ' . $query->num_rows();

Array version

$query = $this->db->query('SELECT name, title, email FROM my_table');
foreach ($query->result_array() as $row)
{
        echo $row['title'];
        echo $row['name'];
        echo $row['email'];
}

Single version

Object version

$query = $this->db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->row();
echo $row->name;

Single version array

$query = $this->db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->row_array();
echo $row['name'];

INSERT

Standar insert

$sql = "INSERT INTO mytable (title, name) VALUES (".$this->db->escape($title).", ".$this->db->escape($name).")";
$this->db->query($sql);
echo $this->db->affected_rows();
 
db->escape() = Fungsi ini menentukan tipe data sehingga hanya dapat keluar dari data string. Itu juga secara otomatis menambahkan tanda kutip tunggal di sekitar data.

query builder insert

$data = array(
        'title' => $title,
        'name' => $name,
        'date' => $date
);
 
$this->db->insert('mytable', $data);  // Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')

UPDATE

$data = array(
        'title' => $title,
        'name' => $name,
        'date' => $date
);
 
$this->db->where('id', $id);
$this->db->update('mytable', $data);
// Produces:
//
//      UPDATE mytable
//      SET title = '{$title}', name = '{$name}', date = '{$date}'
//      WHERE id = $id

Atau
$this->db->update('mytable', $data, array('id' => $id));

DELETE

$this->db->delete('mytable', array('id' => $id));  // Produces: // DELETE FROM mytable  // WHERE id = $id
Atau
$this->db->where('id', $id);
$this->db->delete('mytable');
 
// Produces:
// DELETE FROM mytable
// WHERE id = $id


Access Form Data

Summary

·         $this->input->post()
·         $this->input->get()
·         $this->input->cookie()
·         $this->input->server()

POST

$something = $this->input->post('something');

GET

$this->input->get('some_data', TRUE);

COOKIE

$this->input->cookie(array('some_cookie', 'some_cookie2'));

SERVER

$this->input->server(array('SERVER_PROTOCOL', 'REQUEST_URI'));


Uploading File

Load library
$this->load->library('upload');
Function upload
public function do_upload()
        {
                $config['upload_path']          = './uploads/';
                $config['allowed_types']        = 'gif|jpg|png';
                $config['max_size']             = 100;
                $config['max_width']            = 1024;
                $config['max_height']           = 768;

                $this->load->library('upload', $config);

                if ( ! $this->upload->do_upload('userfile'))
                {
                        $error = array('error' => $this->upload->display_errors());

                        $this->load->view('upload_form', $error);
                }
                else
                {
                        $data = array('upload_data' => $this->upload->data());

                        $this->load->view('upload_success', $data);
                }
        }

Perbedaan Array dan Object

Array
Array adalah satu rangkaian elemen (variabel) bertipe sama yang menempati  memori secara teratur yang dapat diacu/diakses secara individu dengan menambahkan suatu index (subscript) kepada suatu nama unik. Array sering juga disebut larik. PHP mendukung penggunaan array untuk berbagai tipe data. PHP akan mengidenfitkasi secara otomatis tipe data yang sesuai tanpa harus dideklarasikan sebelumnya.
Object
Tipe data object adalah tipe data yang memiliki kombinasi struktur data/atribut dan beberapa fungsi/method. Tipe data object pada PHP adalah untuk mendukung pemrograman berorientasi object.

Cookie

Cookie adalah informasi berukuran kecil yang disimpan suatu situs web di komputer pengguna, dan digunakan setiap kali pengguna mengunjungi situs web tersebut. Biasanya ini dilakukan untuk memudahkan pengguna, seperti "mengingat" pengguna setiap kali ia mengunjungi situs web tersebut.
Penggunaan cookie di internet adalah hal standar. Meski sebagian besar browser web otomatis menerima cookie (yaitu, mengizinkan situs web menyimpan cookie di komputer Anda), semua browser web memiliki opsi untuk menerima atau menolak cookie. Lihat Pernyataan Privasi kami untuk informasi selengkapnya tentang bagaimana cookie digunakan di situs ini.


No comments: