Assalamu'alaikum warrahmatullahi wabarakatuh
Bertemu lagi di postingan baru, kali ini saya akan membahas tentang Framework. Apa sih Framework?
Framework (kerangka kerja) adalah sebuah software untuk memudahkan para programmer membuat aplikasi atau web yang isinya adalah berbagai fungsi, plugin, dan konsep sehingga membentuk suatu sistem tertentu. Dengan menggunakan framework, sebuah aplikasi akan tersusun dan terstruktur dengan rapi. Singkatnya, framework adalah sebuah standar.
Framework ini menggunakan konsep MVC. MVC atau Model-View-Controller ini adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller). Dalam implementasinya kebanyakan framework dalam aplikasi website adalah berbasis arsitektur MVC. MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol dalam sebuah aplikasi web.
Framework yang saya gunakan dan akan saya jelaskan disini adalah Laravel.
Laravel
Laravel adalah framework PHP MVC yang dikembangkan oleh Taylor Otwell pada tahun 2011. Berikut adalah beberapa fitur pada Laravel Framework.
RESTful adalah cara baru dalam mengelola request seperti GET, POST, PUT, PATCH, DELETE, dan STORE.
Composer adalah Depedency Management PHP yang membantu programmer untuk menggunakan library. Semua dependency ini di host di packagist.org
- Command Line Tools (Artisan)
Fitur command line ini untuk memudahkan programmer melakukan beberapa pekerjaan, misalnya membuat database migration, server application, database seeding, creating controller & model dan masih banyak yang lainna.
- Beautiful Template Engine
Laravel dilengkapi dengan template engine dengan nama Blade Template Engine untuk memudahkan penggabungan kode PHP pada HTML.
Fitur Eloquent ORM (Object Relational Model) memungkinkan penulisan kode yang berhubungan dengan objek (Entitas/Tabel pada Database) dioperasikan menggunakan konsep OOP.
Fitur ini untuk menjaga histori migrasi database (CREATE, ALTER, DROP), mengaplikasikan migrasi baru ataupun mengembalikannya.
Struktur Folder Laravel
Folder utama laravel atau disebut dengan ROOT FOLDER
File konfigurasi yang hanya berlaku untuk environment local saja atau dimana file ini berada.
File yang berisi kumpulan dependency yang digunakan di project ini. Kita dapat menambahkannya dengan perintah composer require atau langsung menulisnya di dalam file ini.
Tempat menyimpan seluruh file yang berhubungan dengan aplikasi yang akan dibangun dan tempat menyimpan file Model.
Tempat menyimpan file Controller.
Tempat menyimpan seluruh file yang berhubungan dengan konfigurasi aplikasi Laravel yang akan dibangun, mulai dari database, tempat menyimpan file hasil upload, konfigurasi untuk melakukan pengiriman email, dan sebagainya.
Tempat menyimpan seluruh file yang berhubungan dengan database migration dan database seeder.
Tempat menyimpan seluruh file yang nantinya dapat diakses secara publik oleh pengguna.
Tempat menyimpan seluruh file views dari aplikasi yang akan dibangun. Views menggunakan template engine bernama blade sehingga setiap kali kita membuat file untuk view, maka harus ditambahkan ekstensi .blade
File yang berisi kumpulan route dari sistem yang akan dibangung. Route ini yang nantinya diakses oleh pengguna dan diarahkan sesuai dengan kode yang kita ketik.
Sekarang coba buka file web.php dan lakukan perubahan sebagai berikut.
Dan buka pada browser maka begini hasilnya.
Bentuk umum mendefinisikan Route pada file web.php
Menulis nama-rute tidak boleh menggunakan simbol (!@#$%^&*()~`/,.;:'")
nama-rute tidak boleh mengandung spasi, sebaiknya spasi diganti menggunakan dash(-)
Memanggil View (1)
Buat file baru di resources/views/belajar.blade.php
Contohnya isi seperti ini:
Lalu selanjutnya, yaitu ubah file
routes/web.php
view('nama_view') adalah fungsi bawaan laravel untuk memanggil view.
return view artinya mengembalikan (return) view yang telah dipanggil ke pengguna yang memanggil alamat tersebut.
Begiini hasil keluarannya.
Mengirim Data Ke View
Cara 1 : Menggabungkan data dalam satu variabel array sosiatif, sehingga data yang dikirim ke view hanya 1 saja.
Cara 2 : Membuat variabel masing-masing untuk data yang akan dikirim ke view, gunakan
compact untuk mengirimkan data ke view nya.
Dalam bentuk teks biasa
Menampikan data yang sudah dikirim menggunakan blade template.
Berikut hasilnya.
Dalam bentuk tabel
Menampilkan data yang sudah dikirim menggunakan blade template.
Berikut hasilnya.
Jadi, apa perbedaan antara cara 1 dan 2 mengirim data ke view? Apa kekurangan dan kelebihan masing-masing cara tersebut?
Perbedaannya ialah, cara 1 menggunakan array sosiatif untuk menggabungkan data dalam satu variabel saja. Sedangkan cara 2 membuat variabel masing-masing untuk setiap data yang akan dikirim ke view dan menggunakan fungsi compact untuk mengirimkan data ke view.
Menurut saya, secara penulisan code lebih baik menggunakan cara ke 1 karena lebih efektif dan singkat dalam menuliskan variabel di return view yakni cukup menuliskan satu variabel saja meski ada banyak data yang dikirim. Dibandingkan cara ke 2 yang mengharuskan mengetik kembali nama-nama variabel di dalam compact.
Cukup sekian saja saya rasa untuk postingan kali ini. Maaf masih banyak kekurangannya dan terimakasih sudah berkunjung.
Wassalamu'alaikum warrahmatullahi wabarakatuh.