Cara menggunakan Laravel bagi pemula untuk belajar dari awal

Cara menggunakan Laravel bagi pemula untuk belajar dari awal

Laravel adalah framework PHP open-source yang populer, salah satunya karena syntax yang mudah digunakan. Framework ini sering digunakan oleh developer PHP untuk membuat berbagai aplikasi web, seperti toko online, media sosial, dan CMS.

Di tutorial Laravel ini, kami akan menjelaskan berbagai hal tentang framework ini, mulai dari penyiapannya hingga teknik-teknik tingkat lanjut. Anda juga akan mempelajari konsep lainnya, seperti perintah PHP Artisan dan penanganan error.

Lanjutkan membaca artikel ini untuk mulai belajar Laravel yuk!

Mengenal Laravel dan setupnya

Framework seperti Laravel menyediakan tool dan resource siap pakai bagi para developer untuk membuat aplikasi tanpa harus menulis semua kodenya dari nol. Contohnya, Anda bisa menginstal paket Bagisto untuk menambahkan fungsi toko online, seperti manajemen inventaris.

Laravel sangat populer karena fitur-fiturnya. Kami akan menjelaskannya secara mendetail di bawah ini:

  • Syntax yang elegan – Anda bisa menggunakan kode PHP yang lebih sederhana, yang lebih efisien dan mudah dibaca untuk mempermudah proses pengembangan.
  • Arsitektur MVC – Arsitektur Model-View-Controller di Laravel menyediakan struktur yang lebih jelas untuk komponen aplikasi Anda.
  • PHP Artisan – Tool command-line yang mempermudah tugas-tugas kompleks selama pengembangan, seperti update database atau pembuatan komponen.
  • Eloquent ORM – Sistem mapping yang mempermudah komunikasi database melalui metode yang didasarkan pada objek (object-oriented).

Anda bisa menginstal Laravel di Ubuntu, CentOS, dan distribusi Linux populer lainnya. Namun, Anda harus mengonfigurasi beberapa komponen software terlebih dahulu, termasuk runtime PHP, Composer, dan Apache.

Apabila mencari cara yang lebih mudah, Anda bisa mendapatkan paket VPS hosting kami di Hostinger. Cukup selesaikan proses onboarding yang mudah, lalu Anda bisa menginstal Laravel melalui OS & PanelSistem OperasiAplikasi.

Selain itu, Anda harus menyiapkan IDE (Integrated Development Environment) di komputer untuk menulis kode aplikasi.

Untuk men-deploy aplikasi Laravel di VPS, Anda membutuhkan Git atau software automasi seperti Jenkins.

Penting! Beberapa konsep mungkin berbeda tergantung pada versi Laravel Anda. Untuk tutorial ini, kami akan menggunakan Laravel 11.X.

Memahami arsitektur MVC

Salah satu konsep terpenting Laravel adalah arsitektur MVC. Singkatnya, menggunakan model ini, developer bisa membagi aplikasi menjadi tiga komponen untuk mengelola kode, menentukan prioritas, dan mengisolasi masalah dengan lebih mudah.

Komponen model

Komponen model merepresentasikan logika bisnis dan penyimpanan aplikasi Anda. Komponen ini bertugas untuk menangani operasi database, termasuk menulis dan mengambil informasi spesifik dari back-end berdasarkan permintaan pengguna.

Laravel bergantung pada Eloquent ORM untuk menangani operasi yang berhubungan dengan model, yang menggunakan object-oriented approach. Dengan sistem ini, proses manipulasi data menjadi jauh lebih cepat dan lebih fleksibel daripada menggunakan SQL.

Komponen view

Lapisan view atau tampilan adalah area di aplikasi Anda yang bisa dilihat oleh pengguna dan menerima interaksi dari mereka di layar perangkatnya. Lapisan ini mencakup elemen-elemen seperti menu drop-down, kotak teks, dan kolom formulir.

Untuk mempermudah proses pengembangan komponen view, Laravel menyediakan sistem Blade yang memungkinkan Anda menggabungkan PHP ke dalam template HTML. Dengan fitur ini, Anda bisa membuat kode yang bisa digunakan kembali dan menampilkan data dari back-end dengan lebih mudah.

Komponen controller

Controller menghubungkan dua komponen sebelumnya dalam aplikasi Laravel Anda. Controller mengambil permintaan data dari lapisan model dan menyajikan informasi yang telah diproses di front-end ke komponen view.

Anda bisa menggunakan berbagai metode untuk mengatur controller agar berinteraksi dengan data dalam cara yang berbeda. Misalnya, index diatur agar mengambil data dari database, sementara store menyisipkan resource baru.

Membuat route dan URL

Saat pengguna mengakses aplikasi Anda, mereka mengirim permintaan yang akan ditangani oleh controller. Route di Laravel kemudian mengarahkan permintaan tersebut melalui URL tertentu menuju controller yang sesuai, lalu mengembalikan data ke view.

Anda bisa membuat beberapa route Laravel berdasarkan metode HTTP permintaan tersebut, seperti GET, POST, PUT, DELETE, dan PATCH. Secara default, semuanya berada dalam file web.php di folder routes pada direktori proyek Laravel Anda.

Untuk mulai membuat route, panggil facade atau fungsi helper Route di bagian atas file web.php dengan menambahkan baris berikut:

use Illuminate\Support\Facades\Route;

Kemudian, tentukan route Anda. Sebagai contoh, kode berikut ini akan menangani pengguna yang mengirimkan permintaan HTTP GET ke URL domain.tld/welcome:

Route::get('/welcome', function () {
   //Write your controller logic here;
});

Apabila ingin mengatur route untuk controller tertentu, Anda juga bisa memanggil facade miliknya dan menambahkan route seperti berikut ini:

use App\Http\Controllers\HomeController;

Route::get('/home', [HomeController::class, 'index']);

Dalam contoh di atas, kami merutekan permintaan dengan metode GET dari domain.tld/home ke controller HomeController, yang akan menanganinya dengan metode INDEX. Syntax ::class memungkinkan Anda menggunakan controller tanpa menentukan path facade lengkapnya.

Laravel bisa memproses permintaan melalui middleware sebelum meneruskannya ke controller untuk pemrosesan tambahan, seperti logging atau autentikasi. Mari lihat contoh berikut ini:

Route::get('/welcome', function () {
    return view('welcome');
})->middleware('log.request');

Jangan lupa, Anda harus membuat middleware melalui PHP Artisan. Kami menjelaskan caranya di bagian teknik tingkat lanjut Laravel, di bagian bawah artikel ini.

Menggunakan controller

Controller mengelompokkan permintaan yang memiliki logika sama ke dalam sebuah class. Dengan begitu, pemrosesannya menjadi lebih efisien karena Anda bisa melakukannya secara massal dengan menggunakan satu handler.

Sebagai contoh, Anda bisa membuat HomeController untuk memproses semua permintaan yang datang dari URL /home. Secara default, controller berada di app/Http/Controllers. Untuk menyiapkannya, jalankan perintah PHP artisan berikut ini:

php artisan make:controller ControllerName

Kemudian, tentukan metode penanganan permintaan di dalam file controller yang baru. Sebagai contoh, kode berikut ini menangani permintaan GET yang dikirim melalui route product/id:

namespace App\Http\Controllers;

use App\Models\Product;
use Illuminate\Http\Request;

class ProductController extends Controller
{
    // GET /product/{id}
    public function show($id)
    {
        $product = Product::find($id);
        
        if (!$product) {
            abort(404); // Return a 404 error if the product is not found
        }

        return view('products.show', compact('product')); // Return a view with the product data
    }
}

Untuk menangani operasi CRUD (Create, Read, Update, Delete) umum, Anda bisa menyiapkan controller resource dengan serangkaian metode tertentu. Berikut ini perintahnya:

php artisan make:controller ControllerName --controller

Membuat view dengan Blade templating engine

Blade templating engine memungkinkan integrasi PHP yang lancar ke HTML menggunakan syntax yang lebih sederhana. Sistem ini bisa mempermudah proses pembuatan komponen view untuk aplikasi Anda.

Untuk membuat view menggunakan Blade, buat file dengan ekstensi .blade.php di direktori resources/views dalam proyek Laravel Anda.

Struktur kodenya sama dengan HTML, tapi dengan syntax tambahan untuk PHP. Misalnya, Anda bisa menyisipkan sebuah variabel seperti ini:

<h1>{{ $title }}</h1>

Pada contoh di atas, Laravel meneruskan nilai variabel PHP $title ke komponen view, lalu menampilkannya kepada pengguna.

Anda juga bisa menambahkan directive yang memanipulasi elemen HTML menggunakan fungsi PHP. Sebagai contoh, @if memungkinkan Anda menampilkan konten tertentu kalau suatu kondisi terpenuhi, seperti berikut ini:

@if($user->'Username')
  <h1>Glad to see you, Username!</h1>
@endif

Agar kode bisa digunakan ulang dengan lebih mudah, Blade menyediakan fitur pewarisan template yang bisa Anda manfaatkan untuk membuat tata letak utama dan menambahkan komponen yang lebih kecil, yang disebut child view, secara terpisah. Anda bisa melakukannya dengan menggunakan directive @extends, @section, dan @yield.

Sebagai contoh, kami punya template master dengan kode berikut:

<title>@yield('websitetitle')</title>

Directive @yield adalah placeholder untuk konten dari child view yang ditandai dengan @section. Sebagai contoh, kode berikut ini akan menyisipkan Website Keren ke dalam tag judul:

@section('websitetitle', 'Your Awesome Website')

Terakhir, tambahkan directive @extends ke child view untuk menjelaskan file mana yang harus digunakan oleh master template untuk melengkapi kontennya.

Mengelola database dengan Eloquent ORM

Eloquent ORM memungkinkan aplikasi Laravel Anda berinteraksi dengan tabel database menggunakan kode yang lebih ringkas dibandingkan dengan SQL tradisional.

Dengan Eloquent, Anda tidak perlu memanipulasi data secara langsung menggunakan tabel, karena Laravel akan menentukan model untuk mempermudah operasi CRUD.

Anda bisa membuat model Eloquent baru di mana pun dalam folder app proyek Laravel Anda, karena file Composer.json akan menemukannya secara otomatis. Apabila Anda tidak menentukan direktori, Laravel akan menggunakan direktori app/Models default.

Untuk membuat model baru, jalankan perintah PHP Artisan seperti ini. Ganti Name dengan nama model yang Anda inginkan:

php artisan make:model Name

Secara default, Laravel akan menganggap bahwa tabel yang sesuai adalah nama model Anda dalam bentuk jamak. Misalnya, perintah berikut ini akan menetapkan model Post ke kolom database posts:

php artisan make:model Post

Sekarang, mari tulis kode Eloquent di dalam controller Anda untuk operasi CRUD. Contoh kode berikut ini akan mengambil akun dari model User dengan status Active:

$activeUsers = User::where('status', 'active')->get();

Tanpa Eloquent, Anda perlu menulis kueri SQL seperti ini:

$activeUsers = DB::select('SELECT * FROM users WHERE status = ?', ['active']);

Anda juga bisa membuat relasi antardata dalam model Eloquent yang berbeda untuk pengelolaan data yang lebih efisien. Berikut relasi yang didukung:

  • One-to-one – Sebuah data dikaitkan dengan satu data lainnya dalam model yang berbeda. Misalnya, username dengan user ID-nya.
  • One-to-many – Sebuah data disambungkan ke beberapa nilai dari satu model. Misalnya, satu pengguna e-Commerce dikaitkan dengan beberapa faktur pesanan mereka.
  • Many-to-many – Beberapa data disambungkan dengan banyak data dari tabel lain. Contoh relasi ini adalah produk dan tag.

Laravel juga memiliki fitur migrasi yang membantu menjaga konsistensi antardatabase dalam beberapa sistem atau versi yang berbeda. Dengan fitur ini, Anda bisa membuat banyak kolom dalam model baru dengan sekali eksekusi.

Untuk membuat file migrasi bagi sebuah tabel, jalankan perintah berikut:

php artisan make:migration create_example_table

Anda juga bisa membuat file migrasi selagi menyiapkan model dengan menambahkan opsi -m atau -migration seperti ini:

php artisan make:migration create_example_table

Laravel akan membuat file migrasi di dalam direktori database/migrations. Di dalamnya, tentukan dua perintah, yaitu up() dan down().

Fungsi up() menentukan perubahan yang harus dilakukan ketika Anda menjalankan perintah PHP Artisan migrate, sedangkan down() menentukan metode untuk mengembalikan modifikasi.

Berikut contoh kode lengkapnya:

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreatePostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
            Schema::create('posts', function (Blueprint $table) {
            $table->id(); // Auto-incrementing primary key
            $table->string('title'); // Column for post title
            $table->text('body'); // Column for post content
            $table->timestamps(); // Created and updated timestamps
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('posts');
    }
}

Apabila Anda menjalankan perintah berikut, fungsi-fungsi dalam up() akan berjalan, membuat kolom id, string, text, dan timestamps di dalam tabel posts.

php artisan migrate

Untuk mengembalikan perubahan, gunakan perintah berikut ini, yang akan menjalankan fungsi down() dan menghapus tabel posts yang baru saja dibuat:

php artisan migrate:rollback

Umumnya, developer dan administrator sistem melakukan migrasi database kalau mereka perlu memodifikasi skemanya, baik selama pengujian, deployment, atau menyiapkan sistem baru.

Menerapkan autentikasi dan otorisasi

Anda perlu menerapkan mekanisme autentikasi dan otorisasi yang tepat demi keamanan aplikasi web Anda. Namun, membuat sistem ini secara manual mungkin akan cukup sulit.

Nah, Laravel menyediakan toolkit yang bisa Anda manfaatkan untuk mempermudah prosesnya.

Autentikasi Laravel

Laravel menggunakan guards untuk menentukan metode autentikasi pengguna dan providers untuk mengambil informasi akun dari penyimpanan persisten, seperti database.

Logika autentikasi berada di dalam file config/auth.php. Tampilannya akan seperti ini:

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
    ],
],

Pada contoh di atas, guards digunakan untuk mengautentikasi permintaan ke aplikasi web menggunakan metode sesi berbasis cookie.

Metode ini menggunakan provider yang disebut users, yang menggunakan mekanisme Eloquent ORM untuk mengambil data akun dari model user.

Laravel juga menawarkan starter kit Breeze dan Jetstream, yang menyediakan sistem autentikasi siap pakai. Kami menyarankan Anda untuk menginstalnya agar bisa lebih memahami proses dasar implementasi kode, yang akan membantu Anda menyiapkan logika kustom di kemudian hari.

Otorisasi Laravel

Otorisasi Laravel menggunakan dua komponen: gate dan policy.

Gate memeriksa apakah pengguna memiliki izin untuk melakukan tindakan tertentu sehingga cocok untuk tindakan yang hanya berlaku satu kali.

Sementara itu, policy menentukan logika otorisasi untuk tindakan kolektif dalam model yang sama, dan akan lebih berguna untuk mengotorisasi proses yang lebih rumit.

Anda bisa menggunakan salah satu atau keduanya, tergantung pada kebutuhan aplikasi Laravel Anda.

Untuk menghubungkan gate, gunakan metode boot di dalam App/Providers/AppServiceProvider.

Contohnya, berikut ini kami membandingkan user ID milik akun yang ingin mengedit postingan dan penulisnya:

use App\Models\Post;
use App\Models\User;
use Illuminate\Support\Facades\Gate;

public function boot(): void
{
    Gate::define('update-post', function (User $user, Post $post) {
        return $user->id === $post->user_id;
    });
}

Kemudian, Anda bisa memanggil gate ke controller atau template Blade dan menentukan respons berdasarkan hasil otorisasi.

Misalnya, Anda bisa mengatur aplikasi agar menampilkan pesan tertentu ketika menemukan error validasi. Sementara itu, buat policy menggunakan perintah PHP Artisan.

Mari lihat contohnya dalam kode berikut ini, yang akan membuat policy bernama PostPolicy:

php artisan make:policy PostPolicy

Kemudian, hubungkan dengan menggunakan metode boot di dalam AuthServiceProvider.php. Dalam contoh ini, kami menetapkan policy ke model Post:

use App\Models\Post;
use App\Models\User;
use Illuminate\Support\Facades\Gate;

public function boot(): void
{
    Gate::define('update-post', function (User $user, Post $post) {
        return $user->id === $post->user_id;
    });
}

Sekarang Anda bisa menulis logika otorisasi di dalam file policy yang baru Anda, yang dalam tutorial ini adalah PostPolicy.php. Untuk menerapkannya, panggil fungsi tersebut ke controller Anda dan tentukan responsnya.

Memproses formulir dan validasi

Laravel bisa berkomunikasi dan mengotorisasi database secara efisien, yang membantu Anda membuat formulir dengan lebih mudah.

Sebagai contoh, mari kita buat formulir yang menyimpan username dan alamat email. Mulailah dengan membuat komponen view menggunakan Blade.

Berikut kodenya:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Simple Form</title>
</head>
<body>
    <h1>Submit Your Info</h1>

    @if (session('success'))
        <div style="color: green;">{{ session('success') }}</div>
    @endif

    @if ($errors->any())
        <div style="color: red;">
            <ul>
                @foreach ($errors->all() as $error)
                    <li>{{ $error }}</li>
                @endforeach
            </ul>
        </div>
    @endif

    <form action="{{ route('form.submit') }}" method="POST">
        @csrf
        <label for="name">Name:</label>
        <input type="text" id="name" name="name" required>

        <label for="email">Email:</label>
        <input type="email" id="email" name="email" required>
        <button type="submit">Submit</button>
    </form>
</body>
</html>

Kemudian, tambahkan route ke dalam web.php untuk menentukan controller yang akan menangani pengiriman formulir.

Dalam hal ini, kita membutuhkan dua route untuk metode GET dan POST:

use App\Http\Controllers\FormController;

Route::get('/form', [FormController::class, 'show'])->name('form.show');
Route::post('/form-submit', [FormController::class, 'submit'])->name('form.submit');

Sekarang, mari buat controller menggunakan perintah berikut ini:

php artisan make:controller FormController

Tambahkan kode berikut ke file FormController.php untuk menyiapkan controller Anda, yang akan memvalidasi input pengguna dan membandingkan data dengan entri database:

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\User; // Make sure to import your User model

class FormController extends Controller
{
    public function show()
    {
        return view('simple-form');
    }

    public function submit(Request $request)
    {
        // Validate input
        $request->validate([
            'name' => 'required|string|max:255',
            'email' => 'required|email|max:255|exists:users,email', // Check if email exists
        ]);

        return redirect()->route('form.show')->with('success', 'Form submitted successfully!');
    }
}

Seperti yang ditentukan dalam file Blade, kalau username dan email yang diinput ada dalam database, tampilan front-end Anda akan menampilkan pesan sukses. Kalau tidak, maka akan muncul error.

Apabila memerlukan pemeriksaan yang lebih menyeluruh, Anda bisa menerapkan sistem otorisasi menggunakan gate dan policy.

Teknik-teknik Laravel tingkat lanjut

Di bagian ini, kami akan menjelaskan beberapa teknik tingkat lanjut untuk menggunakan Laravel. Dengan mempelajari tutorial Laravel berikut ini, Anda bisa meningkatkan efisiensi pengembangan aplikasi web Anda.

Menggunakan command-line PHP Artisan Laravel

PHP Artisan adalah aplikasi command-line yang memungkinkan Anda berinteraksi dengan framework aplikasi, mengotomatiskan tugas-tugas kompleks, dan mengelola resource untuk proses pengembangan yang lebih efisien.

Aplikasi ini sudah dikonfigurasikan secara default dengan penginstalan Laravel Anda. Untuk melihat daftar perintah PHP Artisan yang tersedia, jalankan kode berikut:

php artisan list

Kemudian, Anda bisa menggunakan argumen help untuk melihat panduan perintah tertentu, termasuk opsi yang bisa diterima.

Sebagai contoh, jalankan perintah berikut ini untuk memeriksa utilitas migrate:

php artisan help migrate

Salah satu perintah PHP Artisan yang paling sering digunakan adalah make, yang berfungsi untuk membuat berbagai item, termasuk perintah lain, controller, dan middleware.

Berikut syntaxnya:

php artisan make:item [option]

Perintah penting lainnya adalah serve, yang berguna untuk men-deploy aplikasi Laravel:

php artisan serve

Anda juga bisa mengelola cache dengan perintah PHP artisan. Misalnya, gunakan skrip berikut ini untuk menghapus cache perutean Laravel Anda:

php artisan route:clear

Middleware

Middleware di Laravel adalah software yang menjadi penghubung antara aplikasi Anda dan klien.

Software ini menengahi permintaan pengguna sebelum mencapai server Anda, serta biasanya digunakan untuk memfilter traffic dan logging.

Laravel menyediakan middleware siap pakai yang bisa langsung digunakan dalam basis kode aplikasi Anda. Secara default, middleware ini berada di dalam aplikasi/http/middleware proyek Anda.

Untuk membuat middleware baru, jalankan perintah PHP Artisan berikut ini:

php artisan make:middleware-name

Kemudian, tulis skrip PHP Anda untuk menentukan logika penanganan. Setelah selesai, Anda bisa menerapkan middleware ke route tertentu atau secara global, yang akan mencegat semua permintaan dan metode dari HTTP.

Untuk menerapkan middleware secara global, tambahkan software ini ke properti $middleware di dalam app/Http/Kernel.php. Apabila menangani beberapa layanan middleware, Anda bisa mengelompokkannya untuk mempermudah perutean.

Untuk melakukannya, hubungkan middleware di bawah properti $middlewareGroups di dalam file Kernel.php. Perhatikan contoh berikut ini:

protected $middlewareGroups = [
    'custom' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
]

Dalam cuplikan tersebut, grup custom berisi dua komponen middleware. Anda bisa memanggil keduanya secara bersamaan ke dalam sebuah route menggunakan nama grup seperti ini:

Route::get('/example', function () {
    return 'This route uses the custom middleware group.';
})->middleware('custom');

Penanganan error dan debugging

Laravel dilengkapi dengan mekanisme penanganan error yang membantu Anda menangani masalah. Untuk menyiapkan handler pengecualian kustom, tambahkan logikanya di dalam class App\Exceptions\Handler.

Anda bisa menggunakan berbagai metode untuk menyesuaikan cara Laravel menampilkan pengecualian. Sebagai contoh, kode berikut ini menggunakan render() untuk menampilkan error spesifik sebagai respons HTTP:

public function render($request, Throwable $exception)
{
    if ($exception instanceof CustomException) {
        return response()->view('errors.custom', [], 500);
    }

    return parent::render($request, $exception);
}

Metode lainnya adalah report(), yang memodifikasi cara Laravel mencatat error di direktori storage/logs. Anda juga bisa membuat class pengecualian kustom dengan melengkapi class Exception dasar, seperti pada kode berikut:

namespace App\Exceptions;

use Exception;

class CustomException extends Exception
{
    // Custom logic or properties
}

Selain membantu menemukan pengecualian dengan lebih efisien, Laravel menyediakan tool untuk mendebug error. Sebagai contoh, Anda bisa menggunakan dd() dan dump() untuk memeriksa nilai sebuah variabel sehingga Anda bisa melihat apakah outputnya sudah benar:

dd($variable)

Atau, gunakan solusi pihak ketiga, seperti Laravel Debugbar, yang menyediakan antarmuka pengguna grafis di web browser dan menampilkan informasi penting tentang aplikasi Anda.

Sebagai contoh, Anda bisa memeriksa route, kueri, dan permintaan.

tampilan user interface laravel debugbar

Anda bisa menginstal tool ini melalui Composer. Apabila ingin mempelajarinya lebih lanjut, silakan kunjungi repositori GitHub Laravel Debugbar.

Membuat RESTful API dengan Laravel

RESTful application programming interface (API) memungkinkan aplikasi berkomunikasi menggunakan metode HTTP seperti GET, POST, dan DELETE.

Menggunakan API ini, Anda bisa mengintegrasikan layanan, berbagi data, atau menyiapkan tool pihak ketiga dengan lebih mudah.

Mekanisme perutean dan pengontrolan Laravel yang canggih membuatnya cocok untuk mengembangkan RESTful API.

Berikut tutorial Laravel untuk membangun RESTful API:

  1. Buka file routes/api.php. File ini disertakan dengan penginstalan Laravel Anda secara default.
  2. Tentukan route untuk setiap endpoint API dengan menentukan metode HTTP mana yang sesuai dengan suatu tindakan. Contohnya seperti ini:
use App\Http\Controllers\ItemController;
Route::get('/items', [ItemController::class, 'index']);
  1. Buat controller untuk menangani permintaan dari semua endpoint:
php artisan make:controller ItemController
  1. Tentukan metode yang akan digunakan oleh ItemController untuk menangani operasi CRUD:
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Item;

class ItemController extends Controller
{
    // GET /items
    public function index()
    {
        return Item::all();
    }
  1. Buat file migrasi database dan model untuk menyimpan data aplikasi bagi resource Item:
php artisan make:model Item -m
  1. Atur struktur tabel database item Anda dengan menambahkan kode berikut:
public function up()
{
    Schema::create('items', function (Blueprint $table) {
        $table->id();
        $table->string('name');
        $table->timestamps();
    });
}
  1. Jalankan migrasi untuk menyiapkan tabel database:
php artisan migrate

Sekarang, periksa apakah endpoint API Anda sudah berfungsi tanpa masalah dengan mengirimkan permintaan GET menggunakan cURL atau Postman.

Kesimpulan

Laravel adalah framework pengembangan web PHP full-stack yang menyediakan berbagai tool untuk mempermudah pengembangan aplikasi.

Sebagai contoh, tersedia template Blade untuk mengintegrasikan PHP ke dalam HTML dengan mudah, dan ada juga starter kit Breeze untuk membantu Anda membuat sistem autentikasi.

Di tutorial Laravel ini, kami sudah menjelaskan berbagai macam tool dan konsep penting yang ada di Laravel. Berikut rangkuman singkatnya:

  • PHP Artisan – tool command-line untuk membuat dan mengelola komponen aplikasi Laravel.
  • Route – sistem yang mengarahkan permintaan pengguna ke controller tertentu berdasarkan permintaan HTTP untuk diproses.
  • Controller – logika yang menangani operasi CRUD berdasarkan permintaan klien yang masuk.
  • Model – metode yang memungkinkan controller berinteraksi dengan skema dari tabel database tertentu.
  • View – tampilan front-end aplikasi Anda, yang berfungsi untuk menerima input dan menampilkan output.

Guna membantu Anda belajar Laravel dengan lebih mudah, kami sarankan untuk membuat proyek baru untuk latihan. Apabila menggunakan paket VPS Hostinger, Anda bisa meminta bantuan AI Assistant kami, Kodee, untuk membantu proses belajar Anda.

Tanya Jawab (FAQ) Tutorial Laravel

Apa itu Laravel dan apa fungsinya?

Laravel adalah framework pengembangan web PHP yang menyediakan solusi lengkap untuk mengembangkan berbagai jenis aplikasi. Sebagai contoh, Anda bisa mengembangkan platform e-Commerce atau RESTful API. Karena merupakan teknologi full-stack, Anda bisa mengembangkan front-end maupun back-end dengan Laravel.

Apa saja fitur-fitur utama Laravel?

Fitur utama Laravel mencakup Blade templating engine yang berguna untuk menyematkan PHP ke dalam komponen HTML, PHP Artisan untuk pemanggilan database berorientasi objek yang lebih efisien, dan syntax kode yang praktis untuk mempermudah proses pengembangan. Laravel juga menggunakan struktur MVC yang membantu developer mengatur komponen aplikasinya dengan lebih mudah.

Apakah Laravel back-end atau front-end?

Laravel bersifat full-stack, yang berarti bisa menangani back-end maupun front-end. Berdasarkan arsitektur MVC-nya, back-end bisa digunakan sebagai lapisan model dan controller, lalu front-end sebagai komponen view.

Author
Penulis

Faradilla A.

Faradilla, yang lebih akrab disapa Ninda, adalah Content Marketing Specialist di Hostinger. Ia suka mengikuti tren teknologi, digital marketing, dan belajar bahasa. Melalui tutorial Hostinger ini, Ninda ingin berbagi informasi dan membantu pembaca menyelesaikan masalah yang dialami. Kenali Ninda lebih dekat di LinkedIn.