Panduan Lengkap untuk Pemula Laravel: Memulai dengan Framework PHP Terkenal
Table Of Content
- Perencanaan Lingkungan
- Konfigurasi Composer
- Konfigurasi Server Lokal
- Menciptakan Proyek Laravel
- Metode Laravel
- Struktur Daftar
- Struktur direktori utama Laravel:
- Ruting Basis
- Pengaturan Laravel
- Controllers
- View
- Model
- Data Warehouse Laravel
- Migration
- Eloquent ORM
- Query Builder
- Seeder
- Autentikasi
- Sistem Pendaftaran
- Sistem Masuk
- Middleware
- Manajemen Bagian Depan
- Template Blade
- Laravel Mix
- Konstruksi
- Keamanan Aplikasi
- Proteksi terhadap CSRF
- Sanitasi Asal
- Hashing serta Enkripsi
- Pengujian
- PHPUnit
- Dusk
- Komponen dan Pengujian Unit
- Distribusi Aplikasi
- Shared Hosting
- VPS
- Laravel Forge
- Perawatan dan Skalabilitas
- Queuing
- Cache
- File Penyimpanan
Para pengembang web yang ingin mempelajari salah satu framework PHP yang paling populer saat ini akan menemukan belajar Laravel pemula menarik. Laravel adalah framework PHP yang sangat kuat dan fleksibel yang memudahkan pengembang membuat aplikasi web yang kompleks dengan mudah. Di Indonesia, juga sangat populer, dan ada banyak tutorial dan sumber daya untuk pengembang web yang ingin belajar Laravel. Saat ini, menjadi pemula dalam Laravel tidaklah sulit. Banyak panduan online tersedia dalam bentuk buku, artikel, atau video. Selain itu, para pengembang web dapat dengan mudah berbicara tentang Laravel karena ada komunitas Laravel yang aktif di Indonesia. Bahkan pengembang web yang belum pernah menggunakan framework PHP sebelumnya dapat belajar Laravel dengan cepat dan mudah dengan cara ini.
Perencanaan Lingkungan
Konfigurasi Composer
Pastikan Anda sudah menginstal Composer di komputer Anda sebelum memulai belajar Laravel. Komposer adalah manajer paket PHP yang dibutuhkan untuk mengelola paket dan dependensi di Laravel. Anda dapat menemukan Composer di getcomposer.org untuk mengunduh. Pastikan untuk mengatur PATH environment variable setelah mengunduh Composer agar dapat diakses dari mana saja di komputer Anda. Untuk mengetahui apakah Composer telah terinstal dengan benar, buka terminal atau prompt perintah dan ketikkan perintah composer --version.
Konfigurasi Server Lokal
Mengatur server lokal adalah langkah selanjutnya setelah menginstal Composer. Untuk menjalankan Laravel di komputer lokal Anda, Anda dapat menggunakan XAMPP atau WAMP. Pastikan Apache dan MySQL telah diaktifkan di XAMPP atau WAMP.
Untuk mengetahui apakah server lokal berjalan dengan benar, buka browser Anda dan ketikkan "localhost" di URL bar. Halaman web XAMPP atau WAMP menunjukkan ketersediaan server lokal.
Menciptakan Proyek Laravel
Anda dapat mulai membuat proyek Laravel setelah menginstal Composer dan mengatur server lokal. Untuk membuat proyek baru, buka terminal atau prompt perintah dan ketikkan perintah composer create-project --prefer-dist laravel/laravel nama-proyek-anda
.
Sebelum menjalankan perintah tersebut, pastikan Anda sudah berada di direktori yang tepat. Anda dapat menjalankan proyek Laravel dengan mengetikkan perintah php artisan serve
di terminal atau prompt perintah setelah proses selesai.
Anda sudah siap untuk memulai belajar Laravel sebagai pemula setelah mengikuti langkah-langkah di atas.
Metode Laravel
Banyak pengembang web di seluruh dunia menggunakan framework PHP Laravel. Sangat cocok untuk menggunakan framework ini untuk membuat aplikasi web yang memiliki struktur yang teratur dan mudah diatur.
Struktur Daftar
Struktur direktorinya yang sangat terorganisir adalah keunggulan Laravel. Struktur direktori ini terdiri dari berbagai folder dan file, yang memecah logika aplikasi menjadi bagian yang terpisah.
Struktur direktori utama Laravel:
- app: aplikasi terdiri dari file-file aplikasi seperti model, pengontrol, dan tampilan.
- bootstrap: menggabungkan file-file yang diperlukan untuk memulai aplikasi.
- config: mengandung file konfigurasi aplikasi.
- database: terdiri dari file-file pengaturan dan migrasi database.
- public: berisi file publik seperti file CSS, JavaScript, dan gambar.
- resources: berisi file-file seperti file blade, file CSS, dan file JavaScript yang digunakan untuk membuat tampilan aplikasi.
- routes: terdiri dari file-file yang digunakan untuk mengatur rute aplikasi.
- storage: mengandung file yang diperlukan untuk menyimpan cache, session, dan file lainnya.
- tests: terdiri dari file-file yang digunakan untuk menjalankan tes pada aplikasi
- vendor: mengandung file-file dari paket-paket yang digunakan oleh aplikasi.
Ruting Basis
Salah satu konsep utama Laravel adalah routing. Routing digunakan untuk menghubungkan URL aplikasi ke fungsinya. Di Laravel, rute dapat diatur dalam file routes/web.php
.
Berikut adalah ilustrasi routing dasar Laravel:
Route::get('/', function () {
return view('selamat datang');
});
Pengaturan Laravel
Ketika pengguna mengakses URL/ pada contoh di atas, fungsi akan dijalankan untuk mengembalikan tampilan selamat datang.
Controllers
Bagian aplikasi yang bertanggung jawab untuk mengatur logika aplikasi disebut controller. Controller dapat diatur dalam folder aplikasi/Http/Controllers
.
Berikut adalah ilustrasi controller dasar Laravel:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
return view('user.index');
}
public function show($id)
{
return view('user.show', ['id' => $id]);
}
}
Pada contoh di atas, controller UserController memiliki dua fungsi: index dan show. Lihat user.index akan dikembalikan oleh fungsi index dan lihat user.show akan dikembalikan dengan parameter $id.
View
Bagian aplikasi yang disebut View bertanggung jawab untuk menampilkan tampilan aplikasi kepada pengguna. Lihat di folder resources/views.
Berikut adalah ilustrasi tampilan dasar Laravel:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Belajar Laravel</title>
</head>
<body>
<h1>Selamat datang di Laravel</h1>
</body>
</html>
Contoh di atas menampilkan teks dan judul halaman "Welcome to Laravel".
Model
Bagian aplikasi yang bertanggung jawab untuk mengatur data adalah model. Folder aplikasi/Models adalah tempat Anda dapat menciptakan model.
Berikut adalah ilustrasi model dasar Laravel:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
protected $table = 'users';
}
Pada ilustrasi di atas, terdapat sebuah model pengguna dengan properti $table, yang menunjukkan tabel pengguna dalam database.
Data Warehouse Laravel
Laravel memiliki banyak fitur yang memudahkan penggunaan database. Migrasi, Eloquent ORM, Query Builder, dan Seeder adalah beberapa fiturnya.
Migration
Dengan migrasi, struktur database menjadi lebih mudah bagi pengguna. Pengguna dapat membuat, mengubah, dan menghapus tabel dan kolom dalam database dengan migrasi. Migrasi juga memungkinkan rollback jika terjadi kesalahan struktur database.
Eloquent ORM
Eloquent ORM memungkinkan pengguna menggunakan model untuk mengakses data database dengan mudah. Tabel yang ada di database diwakili oleh model. Eloquent ORM memungkinkan pengguna melakukan operasi CRUD (Creating, Reading, Update, and Delete) pada database dengan cepat dan mudah.
Query Builder
Pengguna dapat membuat query SQL dengan Query Builder dengan sintaks yang mudah dipahami. Dengan metode chaining, Query Builder memungkinkan pengguna untuk menambahkan kondisi, urutan, dan pembatasan pada pertanyaan dengan mudah.
Seeder
Seeder memudahkan pengguna mengisi database. Seeder dapat digunakan untuk mengisi database dengan data awal atau ketika melakukan testing. Pengguna dapat mengelola database dengan mudah dan cepat dengan fitur Laravel.
Autentikasi
Salah satu fitur utama aplikasi web adalah autentikasi. Laravel menawarkan fitur autentikasi yang mudah digunakan dan dapat diimplementasikan dengan cepat. Tiga komponen utama autentikasi yang harus dipelajari saat belajar Laravel untuk pemula adalah Sistem Login, Sistem Registrasi, dan Middleware.
Sistem Pendaftaran
Untuk mendaftarkan pengguna baru ke dalam sistem, sistem registrasi adalah bagian dari autentikasi. Fitur scaffolding Laravel membuat sistem registrasi lebih mudah. Pengguna baru dapat mendaftar setelah scaffolding dimulai dengan mengisi formulir yang disediakan. Database akan menyimpan data pengguna, yang memungkinkan pengguna memasuki sistem.
Sistem Masuk
Bagian dari autentikasi adalah sistem login, yang berfungsi untuk memverifikasi identitas pengguna yang ingin masuk ke dalam sistem. Setelah pengguna memasukkan email dan password mereka yang sudah didaftarkan, sistem akan memeriksa apakah data tersebut benar. Jika hasilnya benar, pengguna akan dibawa ke halaman utama. Pengguna akan diminta untuk memasukkan kembali data yang benar jika ada kesalahan.
Middleware
Middleware adalah fitur yang digunakan untuk melindungi elemen tertentu dari aplikasi web. Middleware digunakan dalam proses autentikasi untuk memastikan bahwa hanya pengguna yang telah melakukan login yang dapat mengakses halaman tertentu. Sistem akan mengarahkan pengguna ke halaman login terlebih dahulu jika mereka belum login. Laravel menyediakan middleware yang siap digunakan untuk implementasi. Middleware ini dapat diaktifkan pada level route atau controller, memungkinkan pengaturan mana yang ingin dilindungi dengan autentikasi dan mana yang tidak. Para pemula dapat membuat aplikasi web yang lebih aman dan terpercaya dengan memahami ketiga komponen autentikasi penting Laravel.
Manajemen Bagian Depan
Template Blade
Blade adalah sistem template berbasis Laravel. Blade memiliki fitur template yang sangat bermanfaat untuk pengembangan aplikasi web. Dengan Blade, pengembang dapat membuat template dengan cepat dan mudah. Selain itu, Blade memiliki fitur seperti conditional statement, looping, dan partials. Sintaks Blade yang mudah dipahami memungkinkan developer membuat template. Blade juga memiliki fitur seperti keturunan dan bagian. Dengan adopsi, pengembang dapat membuat template induk yang dapat diwariskan ke template anak. Di bagian ini, developer dapat membuat blok-blok pada template yang dapat diisi dengan konten dinamis.
Laravel Mix
Webpack dilengkapi dengan Laravel Mix. Laravel Mix membuat pengelola sumber daya seperti CSS, JavaScript, dan gambar sangat mudah. Laravel Mix menawarkan fitur yang sangat bermanfaat seperti pengganti modul panas dan sinkronisasi browser. Dengan menggunakan sintaks yang sangat mudah dipahami, developer Laravel Mix dapat mengelola aset. Selain itu, Laravel Mix menawarkan versi dan minifikasi. Dengan versi, pengembang dapat mengelola versi aset yang digunakan dalam aplikasi web. Minifikasi memungkinkan pengembang mengoptimalkan ukuran aset untuk aplikasi web.
Konstruksi
Laravel menawarkan banyak komponen yang sangat bermanfaat untuk pengembangan aplikasi web. Dengan bantuan komponen ini, pengembang dapat membuat aplikasi web dengan cepat dan mudah. Komponen Laravel termasuk: Authentication: Komponen ini memudahkan pengembang untuk membuat fitur autentikasi. Ruting: bagian ini memungkinkan pengembang membuat routing dengan sangat mudah. Eloquent: Komponen ini memudahkan pengembang untuk mengakses database. Blade: Komponen ini memudahkan pembuat template. Dengan komponen-komponen Laravel, pengembang dapat mengembangkan aplikasi web dengan cepat dan mudah.
Keamanan Aplikasi
Laravel adalah salah satu framework PHP yang paling banyak digunakan dan paling populer. Laravel sangat disukai pengembang karena keamanannya yang tinggi. Keamanan aplikasi web sangat penting dan harus menjadi prioritas utama saat mengembangkannya. Jadi, Laravel memiliki banyak fitur keamanan yang membantu pengembang melindungi aplikasi web mereka dari serangan jahat.
Proteksi terhadap CSRF
Laravel secara otomatis menyediakan perlindungan CSRF (Cross-Site Request Forgery) untuk melindungi aplikasi Anda dari serangan CSRF. Setiap form yang dibuat oleh aplikasi Laravel memiliki token CSRF. Token ini akan digunakan untuk memastikan bahwa permintaan yang dikirim berasal dari aplikasi web yang dapat dipercaya. Permintaan akan ditolak jika token tidak sah.
Sanitasi Asal
Laravel menawarkan fitur sanitasi input untuk mencegah serangan injeksi SQL dan Cross-Site Scripting. Dengan fitur ini, Laravel akan membersihkan semua input dari user sebelum diolah dan disimpan ke dalam database. Fitur sanitasi input ini dapat membantu melindungi aplikasi web Anda dari serangan injeksi SQL dan XSS.
Hashing serta Enkripsi
Hashing dan enkripsi fitur Laravel dapat membantu Anda melindungi data sensitif seperti password dan informasi pengguna lainnya. Dengan fitur ini, informasi sensitif akan diacak dan dienkripsi sebelum disimpan ke dalam database. Pihak yang tidak berwenang akan lebih sulit mendapatkan data sensitif karena ini. Pengembang dapat membangun aplikasi web yang lebih aman dan aman dengan fitur keamanan Laravel. Namun, pengembang harus selalu memperbarui aplikasi mereka dengan patch keamanan terbaru untuk memastikan bahwa aplikasi tetap aman dari serangan jahat.
Pengujian
Laravel menggunakan PHPUnit dan Dusk untuk mendukung pengujian, dan juga mengintegrasikan fitur pengujian ke dalam framework itu sendiri.
PHPUnit
PHPUnit adalah framework pengujian bawaan Laravel. PHPUnit digunakan untuk menguji unit dan fitur aplikasi, seperti model dan controller. PHPUnit juga memiliki fitur yang memungkinkan untuk melakukan tes pada database. Untuk melakukan pengujian menggunakan PHPUnit, hanya perlu membuat file pengujian pada direktori pengujian/Unit atau pengujian/Fitur dan menuliskan kode pengujian pada file tersebut. Setelah itu, pengguna dapat melakukan pengujian dengan mengetik perintah phpunit di terminal.
Dusk
Dusk adalah framework pengujian yang digunakan untuk menjalankan pengujian pada aplikasi web. Dusk menggunakan Selenium WebDriver untuk berinteraksi dengan browser dan melakukan pengujian otomatis pada aplikasi web. Untuk menguji Dusk, pengguna perlu menginstal driver browser seperti Chrome atau Firefox. Selanjutnya, pengguna dapat membuat file pengujian di direktori pengujian atau browser dan menuliskan kode pengujian pada file tersebut. Perintah php artisan dusk dapat digunakan untuk menjalankan testing.
Komponen dan Pengujian Unit
Test feature dan unit adalah dua jenis pengujian yang disediakan Laravel. Feature testing digunakan untuk menguji fitur utama aplikasi, seperti memasukkan, mengubah, dan menghapus data. Namun, unit pengujian digunakan untuk menguji unit kecil pada aplikasi seperti model dan pengontrol. Kedua jenis uji coba ini dapat dilakukan dengan mudah menggunakan Laravel. Untuk melakukan penilaian fitur, pengguna dapat membuat file penilaian di direktori penilaian/Fitur dan menuliskan kode penilaian pada file tersebut. Untuk menjalankan unit pengujian, pengguna dapat membuat file pengujian pada direktori pengujian/unit dan menuliskan kode pengujian pada file tersebut.
Distribusi Aplikasi
Setelah membuat aplikasi Laravel selesai, tahap berikutnya adalah melakukan distribusi. Beberapa opsi untuk menginstal aplikasi Laravel adalah Shared Hosting, VPS, dan Laravel Forge.
Shared Hosting
Shared Hosting menawarkan lingkungan hosting berbagi untuk beberapa website. Karena keterbatasan sumber daya dan kinerja yang lebih rendah, shared hosting adalah pilihan yang baik untuk situs web dengan trafik yang tidak terlalu besar. Untuk medeploy aplikasi Laravel pada hosting berbagi, pengguna dapat mengikuti petunjuk yang diberikan oleh penyedia hosting atau melakukan upload file secara manual menggunakan FTP.
VPS
VPS atau Virtual Private Server adalah layanan hosting yang menawarkan lingkungan virtual untuk beberapa website. Karena memiliki sumber daya dan kinerja yang lebih baik daripada shared hosting, VPS adalah pilihan yang baik untuk website dengan jumlah trafik yang lebih besar. Pengguna harus menginstall dan mengkonfigurasi server seperti Apache atau Nginx, PHP, dan database sebelum memungkinkan aplikasi Laravel dipasang pada VPS. Pengguna kemudian dapat mengupload file aplikasi Laravel dan mengkonfigurasi lingkungan pada server.
Laravel Forge
Laravel memiliki layanan deployment yang disebut Laravel Forge. Layanan ini memiliki fitur seperti pemasangan otomatis, manajemen server, dan pemantauan. Untuk menggunakan Laravel Forge, pengguna harus mendaftar dan memilih provider hosting yang mendukung Laravel Forge, seperti DigitalOcean atau Linode. Setelah itu, dashboard Laravel Forge memudahkan pengguna medeploy aplikasi Laravel. Pengguna harus memperhatikan konfigurasi lingkungan, keamanan, dan performa saat menginstal aplikasi Laravel. Selain itu, pengguna harus memilih layanan hosting yang sesuai dengan anggaran dan kebutuhan mereka.
Perawatan dan Skalabilitas
Laravel adalah salah satu framework PHP yang paling dikenal di dunia. Kemampuan Laravel untuk memelihara dan meningkatkan skalabilitas kode adalah alasan utamanya. Kita akan membahas beberapa fitur Laravel yang membantu dalam pemeliharaan dan skalabilitas kode dalam bagian ini.
Queuing
Dengan fitur queue Laravel, pengguna dapat menunda tugas yang membutuhkan waktu lama. Aplikasi dapat tetap responsif dan tidak terganggu oleh tugas yang membutuhkan waktu lama karena queue, yang penting untuk skalabilitas dan pemeliharaan. Aplikasi dapat terus berjalan dan memberikan pengalaman pengguna yang lebih baik dengan menunda tugas-tugas ini.
Cache
Dengan fitur caching Laravel, pengguna dapat menyimpan data yang sering digunakan di disk atau memori. Aplikasi dapat mengambil data dari database atau sumber data lainnya dengan lebih cepat dan efisien dengan caching, yang sangat penting untuk skalabilitas dan pemeliharaan. Aplikasi dapat mengurangi waktu yang dibutuhkan untuk mengambil data dari sumber aslinya dengan menyimpan data yang sering digunakan di cache.
File Penyimpanan
Selain itu, Laravel memiliki fitur penyimpanan file yang memungkinkan pengguna menyimpan file mereka di server. Aplikasi dapat menyimpan file yang sering digunakan di server dan mengurangi waktu yang dibutuhkan untuk mengambil file dari sumber aslinya dalam hal pemeliharaan dan skalabilitas. Aplikasi dapat mengambil file dari sumber aslinya dengan lebih cepat dan efisien dengan menyimpan file yang sering digunakan di server.