Laravel adalah kerangka kerja PHP lintas platform untuk membangun aplikasi web, dengan sintaks yang elegan dan ekspresif. Dengan Laravel, kita dapat dengan mudah membuat situs web baru sambil juga memiliki fitur dan skalabilitas untuk menangani aplikasi tingkat lanjut dan berskala besar.
Tetapi untuk benar-benar memahami manfaat Laravel dan kegunaannya membutuhkan pemahaman yang lebih mendalam. Laravel memungkinkan pengembang untuk memanfaatkan perpustakaan besar fungsionalitas yang telah diprogram sebelumnya (seperti otentikasi, perutean, dan templating HTML). Akses ke perpustakaan ini mempermudah pembuatan aplikasi web yang kuat dengan cepat sambil meminimalkan jumlah pengkodean yang diperlukan.
Laravel menawarkan lingkungan pengembangan yang sangat fungsional, serta antarmuka baris perintah yang intuitif dan ekspresif. Selain itu, Laravel menggunakan pemetaan relasional objek (ORM) untuk akses dan manipulasi data yang lebih sederhana.
Berikut di bawah ini akan memandu Anda penyiapan untuk Laravel di perangkat Anda, lalu menunjukkan cara membuat dan menerapkan situs web Laravel Anda sendiri. Langkah-langkah instalasi khusus distribusi diberikan untuk Debian, Ubuntu, dan CentOS.
Memulai dengan Laravel
Instal Prasyarat
- Instal ekstensi PHP yang direkomendasikan oleh PHP dan Laravel.
- Di Debian dan Ubuntu menggunakan:
sudo apt install php7.4 php7.4-bcmath php7.4-common php7.4-curl php7.4-json php7.4-mbstring php7.4-mysql php7.4-xml php7.4-zip openssl
- Di CentOS, Anda perlu mengambil langkah tambahan dengan menambahkan repositori Remi , karena repositori default manajer paket hanya menyertakan PHP versi 7.2.
- Pertama, tambahkan repositori Remi:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
- Kemudian, aktifkan PHP 7.4 dari repositori Remi dan perbarui manajer paket.
sudo dnf module enable php:remi-7.4 sudo dnf update
- Terakhir, instal paket PHP yang diperlukan.
sudo dnf install php php-bcmath php-common php-json php-mbstring php-mysql php-xml php-zip curl openssl
- Pertama, tambahkan repositori Remi:
- Di Debian dan Ubuntu menggunakan:
- Ubah ke direktori tempat Anda ingin menyimpan direktori proyek Laravel Anda. Dalam contoh ini, Anda menggunakan direktori home pengguna saat ini.
cd ~
- Download
Composer, memastikan bahwa Komposer dapat digunakan secara global, dan membuatnya dapat dieksekusi.
curl-sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer sudo chmod +x /usr/local/bin/composer
- Jalankan Composer installer. Perintah berikut mengunduh penginstal, memverifikasi kunci SHA-384-nya, dan menjalankan skrip penginstalan jika kuncinya valid .
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');"
Membuat Proyek Laravel
- Membuat Aplikasi Laravel.
php composer.phar create-project laravel/laravel example-app
- Ubah ke direktori yang dibuat untuk aplikasi.
cd example-app
catatan
Kecuali disebutkan sebaliknya, semua perintah berikutnya dalam panduan ini menganggap Anda masih berada di direktori proyekexample-app
.
- Jalankan PHP development server, Artisan, untuk memverifikasi bahwa penyiapan Laravel telah selesai.
php artisan serve
'Artisan serves' aplikasi padalocalhost:8000
. Untuk mengunjungi aplikasi dari jarak jauh, Anda dapat menggunakan terowongan SSH:
- Di Windows, Anda dapat menggunakan alat Putty untuk mengatur terowongan SSH Anda. Ikuti bagian yang sesuai dari Menggunakan SSH di Windows panduan, mengganti nomor port contoh di sana dengan 8000.
- Di OS X atau Linux, gunakan perintah contoh untuk menyiapkan terowongan SSH. Ganti
example-user
dengan nama pengguna Anda di server aplikasi dan192.0.2.0
dengan alamat IP server.
ssh -L8000:localhost:8000 [email protected]
- Sekarang, Anda dapat mengunjungi aplikasi di browser Anda dengan menavigasi ke
localhost:8000
.
Membuat Website menggunakan Laravel
Bagian ini menunjukkan kepada Anda cara mulai bekerja dengan kontroler dan tampilan Laravel untuk membuat situs web.
- Ikuti langkah-langkah di bagian Buat Proyek Laravel di atas untuk memulai dengan proyek dasar.
- Contoh ini membangun situs web dengan fitur halaman Home dan halaman About. Buat rute untuk masing-masing dengan membuka file rute —
~/example-app/routes/web.php
— dan tambahkan konten berikut:
File: ~/example-app/routes/web.php
1 2 3 4 5 6 7 8 9 10 11 12 13
<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\HomeController; use App\Http\Controllers\AboutController; Route::redirect('/', '/home'); Route::get('/home', [HomeController::class, 'index']); Route::get('/about', [AboutController::class, 'index']);
Pertama, ini mengimpor pengontrol-HomeController
danAboutController
yang bisa dibuat dalam dua langkah berikutnya. Kemudian, itu mengarahkan permintaan ke/home
damn/about
URL ke pengontrol masing-masing. Ini juga termasuk rute untuk mengarahkan lalu lintas dari URL dasar (/
) ke/home
URL. - Buat pengontrol Home fitur dengan membuat file
~/example-app/app/Http/Controllers/HomeController.php
dan berikan konten yang ditunjukkan di bawah ini:
File: ~/example-app/app/Http/Controllers/HomeController.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; class HomeController extends Controller { public function index() { return view('home', ['title' => 'Home Page']); } }
Pengontrol ini hanya merender tampilan halaman Beranda dan memasukkan parametertitle
ke dalamnya. - Lakukan hal yang sama untuk pengontrol Tentang. Dalam hal ini, file barunya adalah
~/example-app/app/Http/Controllers/AboutController.php
. Pengontrol ini memiliki fungsi yang sama dengan pengontrol Beranda, namun sebagai gantinya, pengontrol ini merender tampilan halaman tentang.
File: ~/example-app/app/Http/Controllers/AboutController.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; class AboutController extends Controller { public function index() { return view('about', ['title' => 'About Page']); } }
- Tampilan contoh ini berbagi menu navigasi, sehingga situs web dapat menggunakan template tata letak untuk mengurangi kode duplikat. Buat template layout sebagai
~/example-app/resources/views/layouts/master.blade.php
, dan berikan konten yang ditunjukkan pada contoh di bawah ini.
Catatan
Sebelum membuat template layout, Anda perlu membuat subdirektorilayouts
.
mkdir~/example-app/resources/views/layouts
File: ~/example-app/resources/views/layouts/master.blade.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
<html> <head> @if ($title) <title>{{ $title }}</title> @else <title>Example Laravel App</title> @endif </head> <body> <div><a href="/home">Home</a> | <a href="/about">About</a> <hr/> <div class="container"> @yield('content') </div> </body> </html>
- Sekarang, untuk membuat tampilan sendiri. Buat file
~/example-app/resources/views/home.blade.php
dan file~/example-app/resources/views/about.blade.php
. Tambahkan isi file contoh di bawah ini:
File: ~/example-app/resources/views/home.blade.php
1 2 3 4 5 6 7
@extends('layouts.master') @section('content') <h1>{{ $title }}</h1> <p>This is the home page for an example Laravel web application.</p> @endsection
File: ~/example-app/resources/views/about.blade.php
1 2 3 4 5 6 7
@extends('layouts.master') @section('content') <h1>{{ $title }}</h1> <p>This is the about page for an example Laravel web application.</p> @endsection
Masing-masing template tampilan ini pertama-tama mendeklarasikan bahwa ia memperluas template tata letakmaster
. Ini memungkinkan setiap pekerjaan dalam tata letak, mengurangi jumlah kode yang harus Anda tulis ulang dan memastikan halamannya konsisten. Setiap tampilan mendefinisikan konten utamanya sebagai bagian dari bagiancontent
, yang didefinisikan dalam tata letakmaster
. - Jalankan aplikasi menggunakan langkah-langkah yang diberikan di akhir Buat Proyek Laravel bagian di atas.
Anda sekarang dapat mengunjungi situs web dilocalhost:8000
.
Terapkan Aplikasi Web Laravel
Meskipun server Artisan bekerja dengan baik untuk pengembangan, Anda disarankan untuk menggunakan server yang lebih kuat untuk penyebaran produksi. Di bagian ini, Anda dapat melihat bagaimana melakukan hal itu, menggunakan aplikasi web Laravel Anda menggunakan NGINX
Langkah-langkah ini mengasumsikan aplikasi Anda memiliki lokasi dan nama yang sama seperti yang diberikan di bagian sebelumnya.
- Install NGINX.
- Debian and Ubuntu, gunakan :
sudo apt install nginx
-
On CentOS, gunakan:
sudo yum install nginx
- Debian and Ubuntu, gunakan :
- Copy proyek Laravel Anda di directory ke
/var/www
.
sudo cp -R ~/example-app /var/www
- Tambahkan kepemilikan pengguna
www-data
atas subdirectorystorage
proyek.
sudo chown -R www-data.www-data /var/www/example-app/storage
- Buat file konfigurasi NGINX untuk situs web, dan tambahkan konten yang ditunjukkan di bawah ini. Ganti
example.com
dengan nama domain server Anda.
File: /etc/nginx/sites-available/example-app
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
server { listen 80; server_name example.com; root /var/www/example-app/public; add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; index index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.(?!well-known).* { deny all; } }
- Buat tautan simbolis dari file konfigurasi di direktori
sites-enabled
NGINX. Anda juga dapat menghapus konfigurasi situsdefault
dari direktori ini.
sudo ln -s /etc/nginx/sites-available/example-app /etc/nginx/sites-enabled/ sudo rm /etc/nginx/sites-enabled/default
- Verifikasi konfigurasi NGINX.
sudo nginx -t
- Aktifkan dan mulai layanan NGINX :
sudo systemctl enable nginx sudo systemctl start nginx
- Demikian pula, aktifkan dan mulai layanan PHP-FPM, yang digunakan NGINX untuk menjalankan aplikasi Anda.
- Debian and Ubuntu, gunakan:
sudo systemctl enable php7.4-fpm sudo systemctl start php7.4-fpm
- CentOS, gunakan:
sudo systemctl enable php-fpm sudo systemctl start php-fpm
- Debian and Ubuntu, gunakan:
- Aplikasi Anda sekarang harus berjalan, kunjungi dengan menavigasi ke nama domain server Anda di browser Anda. Pastikan Anda mengawali nama domain dengan
http
daripadahttps
, karena server belum disiapkan dengan Sertifikat SSL.
Konklusi
Anda sekarang memiliki situs web Laravel Anda sendiri dan berjalan! Untuk membangun apa yang Anda buat dengan mengikuti panduan ini, pastikan untuk melihat-lihat dokumentasi Laravel. Di sana, Anda dapat menemukan banyak informasi untuk menyelami lebih dalam komponen aplikasi Laravel.
Info Tambahan
Anda mungkin ingin berkonsultasi dengan sumber daya berikut untuk informasi tambahan pada topik ini. Sementara ini disediakan dengan harapan akan menjadi berguna, harap dicatat bahwa kami tidak dapat menjamin keakuratan atau ketepatan waktu materi yang dihosting secara eksternal.