Tutorial CodeIgniter 4 mempelajari Konsep Dasar CodeIgniter. Konsep dasar ini penting untuk memahami dalamnya CodeIgniter.
Tutorial CodeIgniter 4 mempelajari Konsep Dasar CodeIgniter. Konsep dasar ini penting untuk memahami dalamnya CodeIgniter. Berikut ini adalah Konsep Dasar dari CodeIgniter :
Controllers
Sebuah controller adalah file kelas sederhana. Seperti namanya, ia mengendalikan seluruh aplikasi dengan URI.
Membuat Controller
Pertama, pergi ke aplikasi folder / controllers. Anda akan menemukan dua file yang ada, index.html dan welcome.php. File-file ini datang dengan CodeIgniter.
Simpan file ini karena mereka. Buat file baru di bawah jalan yang sama bernama "test.php". Menulis kode berikut dalam file tersebut :
Simpan file ini karena mereka. Buat file baru di bawah jalan yang sama bernama "test.php". Menulis kode berikut dalam file tersebut :
<?php
class Test extends CI_Controller {
public function index() {
echo "Hello World!";
}
}
?>
Class Test meluas ke kelas inbuilt disebut CI_Controller. Kelas ini harus diperluas setiap kali Anda ingin membuat kelas Controller Anda sendiri.
Memanggil Controller
Controller di atas dapat dipanggil oleh URI sebagai berikut -
http://www.domain-anda.com/index.php/test
Perhatikan kata "test" di atas URI setelah index.php. Hal ini menunjukkan nama kelas controller. Seperti yang telah kita diberi nama controller "Test", kita menulis "test" setelah index.php. Nama kelas harus dimulai dengan huruf besar tetapi kita perlu menulis huruf kecil ketika kita sebut bahwa kontroler oleh URI. Sintaks umum untuk memanggil controller adalah sebagai berikut :
http://www.domain-anda.com/index.php/controller/method-name
Membuat dan Memanggil Constructor Method
Mari kita memodifikasi kelas atas dan menciptakan metode lain bernama "halo".
<?php
class Test extends CI_Controller {
public function index() {
echo "This is default function.";
}
public function hello() {
echo "This is hello function.";
}
}
?>
Kita dapat mengeksekusi controller di atas dalam tiga cara berikut -
Setelah mengunjungi URI pertama di browser, kita mendapatkan output seperti yang ditunjukkan pada gambar di bawah ini.
Seperti yang Anda lihat, kami mendapat output dari "index" metode, meskipun kita tidak lulus nama metode URI. Kami telah menggunakan hanya nama kontroler di URI. Dalam situasi seperti itu, CodeIgniter memanggil method default "index".
- http://www.domain-anda.com/index.php/test
- http://www.domain-anda.com/index.php/test/index
- http://www.domain-anda.com/index.php/test/hello
Setelah mengunjungi URI pertama di browser, kita mendapatkan output seperti yang ditunjukkan pada gambar di bawah ini.
Seperti yang Anda lihat, kami mendapat output dari "index" metode, meskipun kita tidak lulus nama metode URI. Kami telah menggunakan hanya nama kontroler di URI. Dalam situasi seperti itu, CodeIgniter memanggil method default "index".
Mengunjungi URI kedua di browser, kita mendapatkan output yang sama seperti yang ditunjukkan pada gambar di atas. Di sini, kita telah melewati nama metode setelah nama controller di URI. Sebagai nama metode ini "index", kita mendapatkan output yang sama.
Mengunjungi ketiga URI di browser, kita mendapatkan output seperti yang ditunjukkan pada gambar di bawah ini. Seperti yang Anda lihat, kita mendapatkan output dari metode "Hello" karena kita telah melewati "hello" sebagai nama metode, setelah nama "test" controller di URI
Mengunjungi ketiga URI di browser, kita mendapatkan output seperti yang ditunjukkan pada gambar di bawah ini. Seperti yang Anda lihat, kita mendapatkan output dari metode "Hello" karena kita telah melewati "hello" sebagai nama metode, setelah nama "test" controller di URI
Poin yang perlu diingat
- Nama kelas controller harus dimulai dengan huruf besar.
- controller harus dipanggil dengan huruf kecil.
- Jangan menggunakan nama yang sama metode sebagai kelas induk Anda, karena akan menimpa fungsi orangtua kelas ini.
Tampilan
Ini bisa menjadi halaman web sederhana atau kompleks, yang dapat dipanggil oleh controller. halaman web dapat berisi header, footer, sidebar dll Lihat tidak bisa disebut secara langsung. Mari kita membuat tampilan sederhana. Membuat file baru di bawah aplikasi / views dengan nama "test.php" dan salin kode di bawah ini diberikan dalam file tersebut.
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>CodeIgniter View Example</title>
</head>
<body>
CodeIgniter View Example
</body>
</html>
Gantilah kode dari file aplikasi /controllers/test.php seperti yang ditunjukkan di bawah ini.
Memuat Tampilan
Tampilan dapat dimuat oleh sintaks berikut:
$this->load->view('name');
Di mana nama adalah file view, yang sedang diberikan. Jika Anda telah merencanakan untuk menyimpan file tampilan di beberapa direktori maka Anda dapat menggunakan sintaks berikut:
$this->load->view('directory-name/name');
Hal ini tidak perlu untuk menentukan ekstensi sebagai php, kecuali sesuatu selain .php digunakan.
Indeks() metode memanggil metode melihat dan melewati "Tes" sebagai argumen untuk melihat metode() karena kita telah menyimpan coding html di "test.php" file di bawah aplikasi /views/test.php.
Indeks() metode memanggil metode melihat dan melewati "Tes" sebagai argumen untuk melihat metode() karena kita telah menyimpan coding html di "test.php" file di bawah aplikasi /views/test.php.
<?php
class Test extends CI_Controller {
public function index() {
$this->load->view('test');
}
}
?>
Berikut adalah output dari kode di atas :
The flowchart berikut menggambarkan bagaimana semuanya bekerja:
Model
Model kelas dirancang untuk bekerja dengan informasi dalam database. Sebagai contoh, jika Anda menggunakan CodeIgniter untuk mengelola pengguna dalam aplikasi Anda maka Anda harus memiliki kelas model, yang berisi fungsi untuk menyisipkan, menghapus, memperbarui dan mengambil data pengguna Anda '.
Membuat Model Kelas
model class disimpan dalam direktori aplikasi / model. Berikut kode menunjukkan bagaimana untuk membuat kelas model dalam CodeIgniter.
<?php
Class Model_name extends CI_Model {
Public function __construct() {
parent::__construct();
}
}
?>
Mana MODEL_NAME adalah nama dari kelas model yang ingin Anda berikan. Setiap kelas model harus mewarisi kelas CI_Model yang CodeIgniter. Huruf pertama dari kelas model harus dalam huruf kapital. Berikut adalah kode untuk model kelas pengguna.
<?php
Class zzz extends CI_Model {
Public function __construct() {
parent::__construct();
}
}
?>
Di atas kelas model harus disimpan sebagai User_model.php. Nama kelas dan nama file harus sama.
Loading Model
Model bisa disebut dalam controller. Kode berikut dapat digunakan untuk memuat model apapun.
$this->load->model('model_name');
Mana MODEL_NAME adalah nama model yang akan dimuat. Setelah memuat model Anda hanya dapat memanggil metode seperti yang ditunjukkan di bawah ini.
$this->model_name->method();
Model Autoload
Mungkin ada situasi di mana Anda ingin beberapa kelas model seluruh aplikasi Anda. Dalam situasi seperti itu, lebih baik jika kita autoload itu.
/*
| ---------------------------------------------------------------
| Auto-Load Models
| ---------------------------------------------------------------
| Prototype:
|
| $autoload['model'] = array('first_model', 'second_model');
|
| You can also supply an alternative model name to be assigned
| in the controller:
|
| $autoload['model'] = array('first_model' => 'first');
*/
$autoload['model'] = array();
Seperti yang ditunjukkan pada gambar di atas, melewati nama model dalam array yang Anda ingin autoload dan akan otomatis diambil, sedangkan sistem dalam keadaan inisialisasi dan dapat diakses di seluruh aplikasi.
Helpers
Seperti namanya, itu akan membantu Anda membangun sistem Anda. Hal ini dibagi menjadi fungsi kecil untuk melayani fungsi yang berbeda. Sejumlah helpers yang tersedia di CodeIgniter, yang tercantum pada tabel di bawah. Kita bisa membangun helpers kita sendiri juga.
Helper biasanya disimpan dalam system/helpers, atau direktori application/helpers Anda. kustom helpers disimpan dalam direktori application/helpers dan sistem helpers 'disimpan dalam direktori system/helpers. CodeIgniter akan melihat pertama di direktori application/helpers Anda. Jika direktori tidak ada atau penolong ditentukan tidak terletak, CodeIgniter akan sebaliknya, terlihat di direktori global system/helpers/ . Setiap helper, apakah itu kebiasaan atau sistem helper, harus dimuat sebelum menggunakannya.
Diberikan di bawah ini Anshar yang paling umum digunakan.
Helper biasanya disimpan dalam system/helpers, atau direktori application/helpers Anda. kustom helpers disimpan dalam direktori application/helpers dan sistem helpers 'disimpan dalam direktori system/helpers. CodeIgniter akan melihat pertama di direktori application/helpers Anda. Jika direktori tidak ada atau penolong ditentukan tidak terletak, CodeIgniter akan sebaliknya, terlihat di direktori global system/helpers/ . Setiap helper, apakah itu kebiasaan atau sistem helper, harus dimuat sebelum menggunakannya.
Diberikan di bawah ini Anshar yang paling umum digunakan.
Loading a Helper
Helper dapat dilakukan sebagaimana ditunjukkan di bawah ini -
$this->load->helper('name');
Di mana nama adalah nama pembantu. Misalnya, jika Anda ingin memuat Helper URL, maka dapat dimuat sebagai -
$this->load->helper('url');
Routing
CodeIgniter memiliki sistem routing URI yang user-friendly, sehingga Anda dapat dengan mudah kembali rute URL. Biasanya, ada hubungan satu-ke-satu antara string URL dan yang kontroler yang sesuai "kelas / metode". Segmen dalam sebuah URI biasanya mengikuti pola ini -
domain-anda.com/class/method/id/
- Segmen pertama mewakili kelas controller yang harus dipanggil.
- Segmen kedua merupakan fungsi kelas, atau metode, yang harus disebut.
- Yang ketiga, dan setiap segmen tambahan, mewakili ID dan setiap variabel yang akan diteruskan ke controller.
Dalam beberapa situasi, Anda mungkin ingin mengubah mekanisme routing default ini. CodeIgniter menyediakan fasilitas di mana Anda dapat mengatur aturan routing sendiri.
Customize Aturan Routing
Ada file tertentu di mana Anda dapat menangani semua ini. File ini terletak di application/config/routes.php. Anda akan menemukan sebuah array yang disebut $ rute yang Anda dapat menyesuaikan aturan routing. Kunci dalam rute array $ akan memutuskan apa untuk rute dan nilai akan memutuskan di mana untuk rute. Ada tiga rute yang dipesan di CodeIgniter.
| S.N. | Pemilik Rute & Deskripsi |
|---|---|
| 1 |
$route['default_controller']
rute ini menunjukkan yang kelas controller harus dimuat, jika URI tidak berisi data, yang akan terjadi ketika orang-orang memuat URL root anda. Anda dianjurkan untuk memiliki rute default sebaliknya halaman 404 akan muncul, secara default. Kita dapat mengatur halaman rumah dari situs di sini sehingga akan dimuat secara default.
|
| 2 |
$route['404_override']
rute ini menunjukkan yang kelas controller harus dimuat jika kontroler yang diminta tidak ditemukan. Ini akan menimpa halaman kesalahan standar 404. Ini tidak akan mempengaruhi fungsi show_404 (), yang akan terus memuat file default error_404.php di application/views/errors/error_404.php.
|
| 3 |
$route['translate_uri_dashes']
Terbukti dari nilai Boolean, ini bukan rute. Opsi ini memungkinkan Anda untuk secara otomatis mengganti tanda hubung ('-') dengan garis bawah di controller dan metode segmen URI, sehingga menghemat entri rute tambahan jika Anda perlu untuk melakukan itu. Hal ini diperlukan karena dasbor bukan kelas atau nama metode karakter yang valid dan akan menyebabkan kesalahan fatal, jika Anda mencoba untuk menggunakannya.
|
Rute dapat disesuaikan dengan wildcard atau dengan menggunakan ekspresi reguler namun perlu diingat bahwa aturan-aturan yang disesuaikan untuk routing harus datang setelah aturan cadangan.
Wildcards
Kita dapat menggunakan dua karakter wildcard seperti yang dijelaskan di bawah ini -
Contoh
- (: Num) - Ini akan cocok dengan segmen yang hanya berisi angka.
- (: Any) - Ini akan cocok dengan segmen yang berisi karakter apapun.
Contoh
$route['product/:num']='catalog/product_lookup';
Dalam contoh di atas, jika kata literal "produk" ditemukan di segmen pertama dari URL, dan nomor ditemukan di segmen kedua, "katalog" kelas dan metode "product_lookup" digunakan sebagai gantinya.
Regular Expressions
Seperti wildcard, kita juga bisa menggunakan ekspresi reguler di $route berbagai bagian kunci. Jika setiap URI cocok dengan ekspresi reguler, maka akan dialihkan ke bagian nilai yang ditetapkan dalam $route array
Contoh
$route['products/([a-z]+)/(\d+)']='$1/id_$2';
Dalam contoh di atas, URI mirip dengan produk / sepatu / 123 akan bukannya memanggil "shoes" kelas controller dan metode "id_123".





COMMENTS