Framework Laravel dibuat oleh Taylor Otwell, rilis perdana pada Juni 2011, rilis stabil 24 Agustus 2022, Repositori Framework Laravel berada di github.com/laravel/laravel situs web framework laravel yaitu laravel.com. Laravel merupakan framework PHP yang open-source dan berisi banyak modul dasar untuk mengoptimalkan kinerja PHP dalam pengembangan aplikasi web, PHP adalah bahasa pemrograman yang dinamis dan Laravel disini bisa bertindak untuk membuat web development lebih cepat, lebih aman, dan lebih simpel.
Laravel adalah suatu framework dari bahasa pemrograman PHP, laravel menyediakan beberapa fitur yang bisa digunakan oleh developer untuk mengembangkan fitur aplikasi dengan mudah, seperti mengkoneksikan ke database, melakukan query ke database dengan mudah dan lainnya.
Sebelumnya Laravel merilis versi “major” setiap 6 bulan sekali, dari laravel versi 1 ke versi 2, dari versi 2 ke versi 3 dan seterusnya itu setiap 6 bulan sekali framework laravel melakukan rilis versi. ketika ada versi terbaru developer mengupdate aplikasi web yang sudah dibuat ke versi laravel yang telah di rilis.
Kabar baik Framework Laravel pada september 2020, Laravel telah mengganti aturannya untuk rilis versi “major” yang awalnya 6 bulan sekali menjadi 1 tahun sekali.
Lanjut mengenal Fitur pada Framework Laravel lebih dalam:
- Routing (Support REST HTTP Method)
- Database Migration (Generator Struktur Database)
- Eloquent (Object Relational Model (ORM)
- Authorization (Validasi/Pembatasan Akses Terhadap Role Tertentu Pada User)
- Blade View Formatting (Penggunaan View dengan Format Blade untuk struktur yang lebih tersusun rapi)
- dan adalagi beberapa menarik lainnya yang membantu proses development aplikasi
ALUR KERJA FRAMEWORK LARAVEL
Sebelumnya pastikan sudah dipastikan sudah berjalan untuk Text Editor, Web Server dan PHP Compiler seperti gambar dibawah ini :
Text Editor menggunakan Visual Studio Code

Web Server dan PHP Compiler menggunakan XAMPP

Lanjut Composer
Composer adalah tools dependency manager pada PHP, Dependency (ketergantungan) sendiri diartikan ketika project PHP yang kita kerjakan masih membutuhkan atau memerlukan library dari luar. Composer berfungsi sebagai penghubung antara project PHP yang dibuat dengan library dari luar. Jadi Composer itu aplikasi yang diinstal ke perangkat untuk memfasilitasi developer menggunakan library open source milik orang lain ke dalam project yang sedang dibangun.
agar mengenal lebih dalam mengenai Composer, Yuk kita install dulu composer dengan klik link berikut https://getcomposer.org/









Selanjutnya kita pastikan Composer sudah berjalan dengan membuka command prompt (CMD) search cmd atau tekan tombol windows+R ketikan cmd lalu tekan



Lanjut Installasi Laravel


Penjelasan syntax di atas :
composer ingin membuat projek baru yang mengambil dari github dengan link laravel/laravel dengana nama aplikasi yang mau kita bikin yaitu example-app (nama aplikasi bebas, disesuaikan dengan projek yang akan dibuat)
- composer (basic syntax) : bawaan syntax dari software yang telah terinstall sebelumnya yaitu Composer-Setup.exe
- create-project (parameter) : parameter untuk membuat projek baru

- composer butuh parameter, paramater yang akan kita gunakan yaitu create-project

- laravel/laravel (directory) : parameter directory laravel/laravel ini yang dijadikan parameter create-project
- dari mana asalnya directory laravel/laravel, yaitu dari github (jadi composer mengambilnya dari github)

- oke Lanjut masuk terminal atau command prompt untuk create project


- selanjutnya kita cek ada folder dan file apa saja pada keluargait-projek :

- Selanjutnya di test laravelnya masuk ke keluargait-projek menggunakan cmd, lalu untuk menjalankan laravel dengan cukup perintah php artisan serve :

- selanjutnya buka url http://127.0.0.1:8000 pada browser, jika berhasil seperti gambar dibawah ini hasilnya :

- URL http://127.0.0.1:8000 ini menandakan kita memiliki server didalam komputer lokal yang kita gunakan yang mana server ini merupakan aplikasi laravel yang berjalan di komputer kita.
- untuk menstop nya tekan Ctrl+C, jadi server berhenti dan aplikasi kelurgait-projek tidak bisa diakses
lanjut Struktur Folder Framework Laravel
- buka Visual Studio Code, dan Open Project yang tadi sudah dibuat :


- jangan pusing dulu lihat folder dan file-file karena terlihat banyak ya gaes 🙂 jadi tidak perlu di hafal semua foldernya ya gaes, untuk sekarang pada Framework Laravel 9, kita hanya fokus dibeberapa folder saja yaitu :
- config (hanya digunakan saat setup di awal)
- database (hanya digunakan saat setup di awal)
- app (selanjutnya digunakan sampai aplikasi selesai) :
- Http->Controllers
- Models
- resources (selanjutnya digunakan sampai aplikasi selesai) :
- Views
- routes (selanjutnya digunakan sampai aplikasi selesai)
- routes berfungsi sebagai penghubung atau penjaluran antara user dengan keseluruhan framework defaultnya pada file web.php sebagai basis utama routingnya. untuk tingkat intermediate – advanced dapat membuat routing custom.
- file web.php berfungsi untuk memetakan path website ke controller masing-masing.
- file api.php untuk memetakan path yang berhubungan dengan api.php
- web.php dan api.php kedepannya yang akan sering digunakan disaat mengembangkan aplikasi
LANJUT ALUR KERJA MVC LARAVEL
Laravel adalah framework yang mengimplementasikan konsep Model Views Controllers (MVC) yang artinya didalam framework laravel memiliki folder model, views, controllers sebagai directory utama dari framework laravel.

Penjelasan:
- User mengakses aplikasi melalui public/index.php selanjutnya ke Routes untuk mengarahkan URL yang diberikan oleh User ke Controllers.
- Routes tersebut oleh aplikasi telah dipetakan ke controllers action
- Controller action akan menggunakan Models untuk mengakses data. Atau langsung mengembalikan Views tanpa data (dari Controllers langsung ke Views)
- Models berinteraksi ke database untuk mendapatkan data atau menyimpan data
- Setelah berhasil mendapatkan data melalui Models, Controllers akan mengembalikan ke Views sekaligus data jika ada.
- Views tersebut pada akhirnya menampilkan apa data yang akan ditampilkan User.
Selanjutnya MEMBUAT ROUTING DASAR DI LARAVEL
route yang akan digunakan nanti pada routes->web.php
Route::verb(“/path”, callback);
- Facade Route.
- Verb
Verb merupakan HTTP verb, terdiri dari get, post, put, delete, options, patch. - Path
Merupakan path URL setelah domain aplikasi kita yang kita izinkan untuk diakses oleh pengguna aplikasi. - Callback
Callback bisa berupa anonymous function atau Controller action yang ingin kita eksekusi ketika path tertentu diakses oleh pengguna aplikasi.
anonymous function merupakan istilah lain untuk function yang tidak memiliki nama dan seringkali digunakan sebagai callback.

Jika hanya di isi Tanda slash ( / ), artinya berada pada halaman utama atau index. Dan yang ada didalam return View memanggil langsung ke blade yang bernama ‘welcome’ tanpa memproses nya ke Controller terlebih dahulu.
Dimana file Welcome itu? Bisa lihat pada folder resources, lalu views, dan terdapat welcome.blade.php, kenapa terdapat ekstensi blade.php? Blade pada Laravel adalah Sistem Templating bawaan Laravel.
mencoba membuat routes yang baru:

prosesnya dari browser request ke routes langsung di kembalikan lagi ke browser, jadi langung di print/ditampilkan hasilnya, jadi tidak melewati MVC

mencoba membuat file hai.blade.php pada resources-views, yang nantinya kita akan return untuk dikembalikan ke nonymous function :


ekstensi pakai .php dan .html bisa tidak? bisa, dicoba aja jika penasara, tapi jika menggunakan ekstensi blade.php nantinya akan bisa menggunakan fitur fitur template bawaan laravel.

pertanyaan di routes yang baru di buat kenapa tidak pakai echo saja, kan bisa? bener bisa, coba aja biar gak penasaran gaes…
nah kenapa menggunakan return, karena jika menggunakan return nilainya akan di kembalikan ke routes yang akan di berikan ke nonymous function, dan kalau return juga bisa membaca ARRAY, kalau echo tidak bisa bisa membaca ARRAY, kita coba :



mencoba membuat 1 file lagi di dalam views lalu kita coba letakan kedua filenya di routes








Selanjutnya Membuat Controller

Selanjutnya kita buat Controller baru dengan cara dibawah ini :
- pastikan xampp sudah berjalan
- buka cmd/commad prompt lalu masuk ke direktori projek yang telah kita buat, sebelumnya kita sudah buat dengan nama keluargait-projek dengan cara ketikan cd keluargait-projek enter
- setelah itu tuliskan php artisan make:controller KeluargaitController enter



Penjelasan cara membuat Controller dengan perintah php artisan make:controller KeluargaitController, yaitu :
php : syntax bawaan dari software php yang sudah terinstall pada komputer yang digunakan
artisan : syntax atau parameter yang merupakan bawaan dari laravel
note (php artisan bisa dijalankan disaat sudah masuk didalam projek laravel yang telah dibuat)
make:controller KeluargaitController kita akan membuat sesuatu, apa yang akan dibuat, dalam hal ini yaitu Controller dengan nama KeluargaitController

sebelum lanjut, kita bahas code berikut :
Namespace (identifier/pengenal) adalah suatu nama yang biasa dipakai dalam pemrograman untuk menyatakan variabel, konstanta, tipe data, dan fungsi. (sebuah penamaan yang digunakan untuk mengelompokkan ke dalam package / folder sebagai sebuah identitas tersendiri).
Use disini nanti akan terlihat saat menggunakan routing (begitupun Namespace)

class : syntax untuk mendefinisikan class di PHP
extends : sebuah Inheritance (merupakan proses pewarisan data dan method dari suatu class yang telah ada kepada suatu class baru)
maka di baris nomor 7 bisa dibaca : KelurgaitController yaitu Child class atau bisa dikatakan anaknya dari Controller jadi KeluargaitController ini bisa menggunakan beberapa method yang telah disediakan oleh Controller bisa dikatakan KeluargaitController ini bisa mengimplementasikan fungsi-fungsi method method di Controller.
Selanjutnya Lakukan Routing Menuju Controller yang baru saja kita buat


cara pertama dengan memanggil controller menggunakan STRING‘ ‘ pada parameter2



cara kedua memanggil controller dengan mengguanakan ARRAY [ ] pada parameter2 :


Selanjutnya kita coba routing dengan method lain, sebelumnya dengan nama index, untuk perbandingan kita buat method dengan nama pesancontroller :
catatan: fungsi dari routing salah satunya kita bisa mendifinisakan url yang akan di terima oleh laravel/aplikasi yang kita buat, dan kita bisa mendefinisikan url tersebut mau dibawa ke Controller mana dan ke Method/fungsi yang mana, contoh :



SELESAI SUDAH LARAVEL PART 1, Selanjutnya PART 2, Akan melanjutkan pembuatan sebuah PROJEK atau Studi kasus (Case study) dengan latihan pembuatan Aplikasi Web menggunakan Framework Laravel.
note: Pahami Konsep Framework Laravelnya bukan hanya dipahami syntaxnya, jika ingin mencoba belajar mendalami framework lain jika mengerti konsepnya, maka akan lebih mudah mempelajarinya.