- Seme Framework
- versi 4.0.3 (ID)
- Persyaratan
- Download & Install
- Pengaturan
- Tutorial
- Perutean URI
- Konstanta
- Variabel Global
- Model
- View
- Controller
- Library
- CLI (command line interface)
- Core
Dasar-dasar Perutean
Dalam Seme Framework ada yang disebut dengan perutean (Routing). Rute ini akan mengarahkan suatu alamat terhadap kelas Controller yang sudah dibuat. Jadi singkat ceritanya, rute ini akan digunakan untuk berpindah halaman.
Dalam tutorial ini, tidak ada praktek ngoding. Hanya ada pembahasan teori bagaimana cara pembuatan halaman di Seme Framework supaya tidak bertanya-tanya bagaimana hubungan antara URL dengan kelas Controller di Seme Framework. Dan juga, dalam tutorial ini akan dibahas bagaimana halaman dapat menerima suatu Nilai dari parameter yang di lewatkan melalui alamat rute.
Setelah berhasil mendownload dan menginstall Seme Framework sehingga dapat dibuka melalui browser dengan alamat http://localhost/seme_framework/
.
Maka, sudah saatnya kita akan mempelajari kelas apa saja yang dieksekusi oleh Seme Framework ketika browser membuka alamat tersebut.
Mengenal nama lain dari Alamat Rute
Alamat rute di pada ruang lingkup aplikasi berbasis web seringkali diistilahkan dengan URL
atau URI
.
URL atau URI ini merupakan penyebutan nama lain dari Alamat Rute yang digunakan oleh Browser.
Tetapi, antara URI dan URL ada bedanya. Berikut ini adalah perbedaanya.
Apa itu URL?
URL atau Uniform Resource Locator adalah alamat yang digunakan oleh browser untuk mengidentifikasi sumber daya yang ada di internet yang dituliskan dalam satu baris teks.
URL merupakan bagian dari URI.
URL menunjuk ke suatu halaman web yang tidak menggunakan scheme
dan boleh tanpa menggunakan code fragment
.
seme.framework.web.id/id/globals
Apa itu URI?
URI atau Uniform Resurce Identifier digunakan browser untuk mengidentifikasi dokumen tunggal dan dituliskan dalam satu baris teks.
URI digunakan untuk mengidentifikasi suatu resource dengan lokasi atau nama, ataupun keduanya.
URL menunjuk ke suatu halaman web yang menggunakan scheme
beserta menggunakan code fragment
secara lengkap.
https://seme.framework.web.id/id/globals/#fungsi_base_url
Perutean Standar
Dalam Seme Framework ada perutean standar yaitu kelas Controller Home
dan mengeksekusi metode index()
.
Kelas Home
lokasi filenya harus ada di app/controller/home.php
.
Apabila nama filenya bukan home.php
, atau letak filenya tidak berada di dalam direktori app/controller
atau nama kelasnya bukan Home
, atau tidak ada metode index()
di dalam kelas tersebut.
Sudah dipastikan Seme Framework akan ERROR. Entah itu menimbulkan Error 404 Notfound
ataupun Error lainnya.
Intinya, rute Seme Framework adalah rute yang dibangun berdasarkan isi dari alamat yang ada di dalam browser.
Pemetaan Rute
Supaya tidak bingung, Seme Framework mempermudah pemetaan rute dengan cara setiap alamat akan dipisahkan dalam beberapa segmen.
Pemisahan ini dibatasi dengan penggunaan garis miring (/)
yang ada pada alamat browser.
Namun, harus hati-hati juga, segmentasi rute ini hanya berpengaruh terhadap alamat yang tertulis setelah base_url .
Lihat pengaturan base_url di halaman pengaturan .
Segmentasi Alamat Rute
Diasumsikan nilai dari pengaturan base_url adalah localhost/sf/
.
Maka, alamat setelah localhost/sf/
akan menjadi dipisah menjadi beberapa segmen.
Mari kita lihat contoh alamat URL.
localhost/sf/produk/detail/rolcis_keju_gulung
Dari contoh tersebut akan dapat ditemukan 3 segmen yaitu:
- produk.
- detail.
- rolciz_keju_gulung.
Pemetaan Segmen Alamat terhadap kelas controller
Dari hasil penelaahan alamat segmen, dalam Seme Framework dapat dipetakan menjadi dua kasus alternatif yaitu:
Alternatif ke-1
Segmen pertama produk akan mengarah kepada kelas
Produk
yang lokasi filenya berada diapp/controller/produk.php
.Kemudian segmen kedua detail akan mengarah kepada metode detail() yang ada di dalam kelas
Produk
.Dan segmen ketiga rolciz_keju_gulung akan mengarah kepada isi dari parameter metode detail() yang ada di dalam kelas
Produk
.Alternatif ke-2
Segmen pertama produk akan mengarah kepada folder atau direktori
app/controller/produk/
.Kemudian segmen kedua detail akan mengarah kepada kelas detail yang berlokasi di
app/controller/produk/detail.php
.Dan segmen ketiga rolciz_keju_gulung akan mengarah kepada metode rolciz_keju_gulung() dari kelas
detail
.
Baik dari Alternatif ke-1 ataupun Alternatif ke-2, tidak ada yang salah. Seme Framework secara otomatis akan memilih pemetaan yang ada direktorinya terlebih dahulu (Alternatif ke-2).
Apabila tidak ada direktori produk di dalam app/controller
, maka Seme Framework akan menggunakan pemetaan Alternatif ke-1.
Jadi dalam istilah bahasa pemrogramannya, Seme Framework akan menggunakan Alternatif ke-2 kemudian Alternatif ke-1 akan digunakan sebagai fallback
.