Membina dan Menjalankan Projek Laravel dalam ServBay
Pengenalan
ServBay ialah persekitaran pembangunan web tempatan yang serba lengkap untuk macOS dan Windows. Ia menyepadukan pelbagai perisian popular seperti PHP, Node.js, Python, Go, Java, pelbagai pangkalan data (MySQL, PostgreSQL, MongoDB), perkhidmatan cache (Redis, Memcached) serta pelayan web (Caddy, Nginx, Apache).
Dokumen ini membimbing anda langkah demi langkah untuk mencipta, mengkonfigurasi dan menjalankan projek Laravel menggunakan ServBay. Kita akan memanfaatkan setup PHP terbina dalam, pengurusan pakej Composer dan fungsi pengurusan laman web ServBay yang berkuasa untuk mempermudah seluruh proses pembangunan.
Apakah itu Laravel?
Laravel ialah sebuah rangka kerja aplikasi web sumber terbuka untuk PHP yang sangat popular, dicipta oleh Taylor Otwell. Mengikuti corak seni bina MVC (Model-View-Controller), Laravel menawarkan pelbagai ciri “siap pakai” untuk memudahkan tugas biasa pembinaan web seperti pengesahan pengguna, routing, pengurusan sesi, cache dan operasi pangkalan data. Dikenali dengan sintaks yang elegan, fungsi meluas dan sokongan komuniti yang kukuh, Laravel amat sesuai untuk membina aplikasi web moden yang mudah diselenggara.
Ciri-ciri dan Kelebihan Utama Laravel
- Sintaks Elegan: Kod yang ringkas dan ekspresif mempertingkatkan kecekapan pembangunan serta mudah dibaca.
- Eloquent ORM: Pelaksanaan ActiveRecord yang mantap untuk interaksi pangkalan data yang mudah dan intuitif.
- Konsol Artisan: Pelbagai alat baris arahan untuk migrasi pangkalan data, penjanaan kod, ujian dan sebagainya.
- Enjin Templat Blade: Sintaks templat yang ringkas untuk membina paparan dinamik dengan mudah.
- Ekosistem Meluas: Ribuan pakej rasmi dan pihak ketiga yang boleh diintegrasi dengan Composer.
- Sokongan Komuniti Hebat: Komuniti aktif menyediakan tutorial, sumber dan penyelesaian masalah yang meluas.
Kelebihan Membangunkan Laravel dengan ServBay
ServBay memudahkan pembangunan Laravel dengan pelbagai ciri:
- Persekitaran Terpadu: PHP, Composer dan perkhidmatan pangkalan data/cache popular disediakan secara pra-pasang – tiada konfigurasi berasingan diperlukan.
- Pengurusan Mudah: Tukar versi PHP, tetapan laman web, dan kawalan perkhidmatan dengan antara muka grafik ServBay.
- Pelayan Web Sedia & Dioptimumkan: Caddy dioptimumkan untuk rangka kerja PHP termasuk Laravel – pelarasan pelayan web amat mudah.
- Sokongan HTTPS: ServBay mengkonfigurasi SSL untuk domain
.localsecara automatik – pembangunan tempatan selamat dan mirip persekitaran produksi.
Membina Projek Laravel
Adalah disyorkan untuk menyimpan semua projek laman web anda dalam direktori berikut untuk pengurusan dan susunan yang teratur:
- macOS:
/Applications/ServBay/www - Windows:
C:\ServBay\www
Pastikan Composer Terpasang
ServBay memasang Composer secara automatik semasa pemasangan, jadi tiada pemasangan berasingan diperlukan. Sahkan Composer melalui terminal:
bashcomposer --version1Jika versi Composer dipaparkan, ia telah sedia digunakan.
Cipta Projek Laravel Baharu
Buka terminal, navigasikan ke direktori cadangan, dan gunakan Composer untuk mencipta projek Laravel yang baharu bernama
servbay-laravel-app:macOS:
bashcd /Applications/ServBay/www # Membuat direktori projek mkdir servbay-laravel-app # Masuk ke direktori projek cd servbay-laravel-app # Cipta projek Laravel dalam direktori semasa composer create-project --prefer-dist laravel/laravel .1
2
3
4
5
6
7Windows:
cmdcd C:\ServBay\www # Membuat direktori projek mkdir servbay-laravel-app # Masuk ke direktori projek cd servbay-laravel-app # Cipta projek Laravel dalam direktori semasa composer create-project --prefer-dist laravel/laravel .1
2
3
4
5
6
7Composer akan memuat turun dan memasang Laravel beserta segala kebergantungan.
Masuk ke Direktori Projek
Pastikan anda berada di direktori akar projek Laravel:
macOS:
bashcd /Applications/ServBay/www/servbay-laravel-app1Windows:
cmdcd C:\ServBay\www\servbay-laravel-app1
Konfigurasi Awal
Jana Kunci Aplikasi
Laravel memerlukan kunci aplikasi untuk enkripsi data dan perlindungan sesi. Jalankan perintah Artisan di akar projek:
Lokasi Direktori Projek:
- macOS:
/Applications/ServBay/www/servbay-laravel-app - Windows:
C:\ServBay\www\servbay-laravel-app
bashphp artisan key:generate1Perintah ini akan menghasilkan dan menetapkan nilai
APP_KEYdalam fail.envanda.- macOS:
Tetapkan Variabel Persekitaran (
.env)Laravel menggunakan fail
.envuntuk mengurus konfigurasi seperti sambungan pangkalan data, URL aplikasi dan lain-lain. Edit fail.envmengikut keperluan anda, pastikan parameter asas berikut dikonfigurasi dengan betul:dotenvAPP_NAME=ServBay Laravel Demo APP_ENV=local APP_KEY=base64:... # Nilai ini dijana oleh php artisan key:generate APP_DEBUG=true APP_URL=https://servbay-laravel-test.local LOG_CHANNEL=stack # Contoh konfigurasi pangkalan data (MySQL) DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app # Nama pangkalan data pilihan anda DB_USERNAME=root # Pengguna lalai ServBay DB_PASSWORD=password # Kata laluan lalai ServBay # Contoh konfigurasi cache/barisan (Redis) CACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null # Redis lalai tiada kata laluan REDIS_PORT=6379 # Contoh konfigurasi cache/barisan (Memcached) # CACHE_STORE=memcached # MEMCACHED_HOST=127.0.0.1 # MEMCACHED_PORT=112111
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26Nota: Laraskan nilai
DB_*,REDIS_*atauMEMCACHED_*mengikut jenis pangkalan data atau perkhidmatan yang anda gunakan. Butiran pengguna dan kata laluan boleh dirujuk dalam panel kawalan ServBay.
Konfigurasi Pelayan Web (Tambah Laman Web dalam ServBay)
Manfaatkan pengurusan laman web ServBay untuk mengkonfigurasi pelayan web dan menghala domain ke folder public projek Laravel anda.
Buka Panel Kawalan ServBay
Buka aplikasi ServBay dan pergi ke panel kawalan.
Tambah Laman Web Baharu
Pergi ke bahagian “Laman Web”. Klik butang tambah (
+atau ikon setara) untuk menambah laman web baharu.Isikan Maklumat Laman Web
Contoh pengisian:
Nama:
My First Laravel Dev Site(untuk pengecaman mudah)Domain:
servbay-laravel-test.local(alamat yang diakses melalui pelayar)Jenis Laman Web:
PHPVersi PHP: Pilih mana-mana versi yang disokong Laravel, contoh
8.3.Root Laman Web:
- macOS:
/Applications/ServBay/www/servbay-laravel-app/public - Windows:
C:\ServBay\www\servbay-laravel-app\public
(Penting: Pastikan mengarah ke subfolder
publicdalam projek Laravel.)- macOS:
Untuk langkah terperinci dan pilihan lain, rujuk panduan rasmi menambah laman web ServBay (cari versi Bahasa Inggeris).
Simpan dan Laksana Perubahan
Simpan konfigurasi dan biarkan ServBay mengemaskini pelayan webnya (Caddy secara lalai). Jika perlu, ikut arahan untuk mulakan semula pelayan web.
Uji Akses Asas
Kini, projek Laravel anda boleh diakses melalui domain yang telah dikonfigurasi.
Buka Pelayar
Masukkan domain, contohnya
https://servbay-laravel-test.localdalam pelayar web.Lihat Result
Jika konfigurasi tepat, anda akan melihat halaman selamat datang Laravel.
Tambah Kod Contoh Mudah
Untuk pengesahan mudah, tambahkan laluan ringkas dalam routes/web.php untuk memaparkan "Hello ServBay!".
Di dalam projek, edit fail routes/web.php seperti berikut:
php
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Di sinilah anda boleh daftar laluan web untuk aplikasi anda.
| Laluan ini akan dimuat oleh RouteServiceProvider dalam kumpulan
| yang mengandungi middleware "web". Sekarang, buat sesuatu yang hebat!
|
*/
Route::get('/', function () {
return 'Hello ServBay!'; // Edit atau tambah baris ini
});
// ... laluan lain1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Simpan fail, dan lawati https://servbay-laravel-test.local. Anda akan melihat "Hello ServBay!" di pelayar anda.
Integrasi Pangkalan Data: Contoh
Laravel menyokong interaksi pangkalan data dan ORM (Eloquent) secara mudah dengan pelbagai jenis pangkalan data. ServBay membekalkan MySQL, PostgreSQL, MongoDB, Redis, Memcached – memudahkan ujian tempatan.
NoSQL: Contoh Redis dan Memcached
ServBay mengintegrasikan Redis dan Memcached secara lalai, dan turut menyertakan extension PHP berkaitan.
Contoh Memcached
Konfigurasi
.envTambahkan maklumat sambungan Memcached (jika belum):
dotenvCACHE_STORE=memcached MEMCACHED_HOST=127.0.0.1 MEMCACHED_PORT=11211 # Port lalai Memcached ServBay1
2
3Penggunaan Memcached
Gunakan facade cache Laravel dalam laluan atau controller anda:
Tambah kod pada
routes/web.php:phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached-test', function () { // Simpan data ke cache, tempoh 10 minit (600 saat) Cache::put('servbay_memcached_key', 'Hello dari Memcached di ServBay!', 600); // Ambil data dari cache $value = Cache::get('servbay_memcached_key'); if ($value) { return "Data Memcached: " . $value; } else { return "Data Memcached tiada atau telah tamat tempoh."; } });1
2
3
4
5
6
7
8
9
10
11
12
13
14
15Lawati
https://servbay-laravel-test.local/memcached-testuntuk ujian.
Contoh Redis
Konfigurasi
.envTambahkan konfigurasi Redis jika belum ada:
dotenvCACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null # Redis tiada kata laluan secara lalai REDIS_PORT=6379 # Port lalai Redis ServBay1
2
3
4Nota: Jika anda menguji Memcached dan Redis, cuma satu
CACHE_STOREperlu aktif (pastikan satu lagi digantung dengan #).Penggunaan Redis
Gunakan facade Redis atau Cache dari Laravel:
Tambah kod pada
routes/web.php:phpuse Illuminate\Support\Facades\Redis; // atau gunakan Cache facade jika CACHE_STORE=redis // use Illuminate\Support\Facades\Cache; Route::get('/redis-test', function () { // Penggunaan Redis facade Redis::set('servbay_redis_key', 'Hello dari Redis di ServBay!'); $value_redis = Redis::get('servbay_redis_key'); // Atau, guna Cache facade (jika CACHE_STORE=redis) // Cache::put('servbay_redis_key', 'Hello dari Redis di ServBay!', 600); // $value_cache = Cache::get('servbay_redis_key'); return "Data Redis: " . $value_redis; });1
2
3
4
5
6
7
8
9
10
11
12
13
14
15Lawati
https://servbay-laravel-test.local/redis-testuntuk ujian.
Pangkalan Data Relasi (MySQL & PostgreSQL)
ServBay membekalkan pelayan MySQL dan PostgreSQL terbina dalam. Laravel Eloquent ORM membolehkan sambungan mudah ke kedua-duanya.
Mula-mula, cipta pangkalan data untuk projek ini (contohnya servbay_laravel_app) menggunakan alat pengurusan ServBay seperti phpMyAdmin, Adminer, pgAdmin, atau klien baris arahan.
Kemudian, gunakan migrasi Laravel untuk membina struktur jadual.
Cipta Fail Migrasi
Jalankan perintah Artisan:
bashphp artisan make:migration create_accounts_table --create=accounts1Fail migrasi dicipta dalam direktori
database/migrations.Edit Fail Migrasi
Buka fail migrasi dan tentukan struktur jadual
accountsdalam fungsiup:php<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Jalankan migrasi. */ public function up(): void { Schema::create('accounts', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); // Menambah kolum created_at dan updated_at }); } /** * Undurkan migrasi. */ public function down(): void { Schema::dropIfExists('accounts'); } };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
29Simpan fail.
Laksanakan Migrasi
Jalankan migrasi untuk mencipta jadual:
bashphp artisan migrate1Jika konfigurasi pangkalan data betul, migrasi akan mencipta jadual
accountsbeserta jadual lalai Laravel sepertiusers,password_reset_tokens, dan lain-lain.
Contoh MySQL
Konfigurasi
.envuntuk MySQLPastikan tetapan berikut di
.env:dotenvDB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 # Port lalai MySQL ServBay DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password # Kata laluan lalai MySQL ServBay1
2
3
4
5
6Tambah Data Contoh
Tambah laluan untuk memasukkan data ke jadual:
phpuse Illuminate\Support\Facades\DB; Route::get('/mysql-add-account', function () { DB::table('accounts')->insert([ 'name' => 'ServBay Demo User', 'email' => 'demo-user@servbay.test', 'created_at' => now(), 'updated_at' => now(), ]); return 'Account ditambah ke MySQL!'; });1
2
3
4
5
6
7
8
9
10
11Lawati
https://servbay-laravel-test.local/mysql-add-accountuntuk memasukkan data.Baca Data Contoh
Tambah laluan untuk membaca data dari jadual:
phpuse App\Models\Account; // Jika anda telah mencipta model Account // atau gunakan DB facade terus Route::get('/mysql-accounts', function () { // Guna DB facade $accounts = DB::table('accounts')->get(); // Atau guna Eloquent ORM (jika model Account wujud) // $accounts = Account::all(); return $accounts; });1
2
3
4
5
6
7
8
9
10
11
12Layari
https://servbay-laravel-test.local/mysql-accountsuntuk menyenaraikan data.
Contoh PostgreSQL
Konfigurasi
.envuntuk PostgreSQLUntuk menggunakan PostgreSQL, ubah tetapan seperti berikut:
dotenvDB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 # Port lalai PostgreSQL ServBay DB_DATABASE=servbay_laravel_app DB_USERNAME=root # Pengguna lalai PostgreSQL ServBay DB_PASSWORD=password # Kata laluan lalai PostgreSQL ServBay1
2
3
4
5
6Nota: Jika anda tukar sambungan pangkalan data, migrasi perlu dijalankan semula (cth.
php artisan migrate:refreshatauphp artisan migrate).Tambah Data Contoh (PostgreSQL)
Tambah laluan untuk memasukkan data:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-add-account', function () { DB::table('accounts')->insert([ 'name' => 'ServBay PG Demo User', 'email' => 'pg-demo-user@servbay.test', 'created_at' => now(), 'updated_at' => now(), ]); return 'Account ditambah ke PostgreSQL!'; });1
2
3
4
5
6
7
8
9
10
11Lawati
https://servbay-laravel-test.local/pgsql-add-accountuntuk memasukkan data.Baca Data Contoh (PostgreSQL)
Tambah laluan untuk membaca data:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-accounts', function () { $accounts = DB::table('accounts')->get(); return $accounts; });1
2
3
4
5
6Lawati
https://servbay-laravel-test.local/pgsql-accountsuntuk menyenaraikan data.
Kesimpulan
Dengan ServBay, anda boleh dengan mudah membina persekitaran pembangunan tempatan untuk projek Laravel. PHP, Composer, pelayan web Caddy, serta pelbagai pangkalan data dan perkhidmatan cache telah disepadukan — proses pemasangan jadi sangat mudah. Sekadar beberapa langkah, anda boleh membina projek baru, konfigurasikan pelayan web, dan mula membangunkan serta menguji integrasi pangkalan data serta cache dengan mudah. ServBay komited untuk menyediakan pengalaman pembangunan yang cekap dan mudah kepada para pembangun.
Jika anda menghadapi sebarang isu, sila rujuk dokumentasi rasmi ServBay atau sertai komuniti untuk bantuan lanjut.
