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
.local
secara 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 --version
1Jika 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-app
1Windows:
cmdcd C:\ServBay\www\servbay-laravel-app
1
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:generate
1Perintah ini akan menghasilkan dan menetapkan nilai
APP_KEY
dalam fail.env
anda.- macOS:
Tetapkan Variabel Persekitaran (
.env
)Laravel menggunakan fail
.env
untuk mengurus konfigurasi seperti sambungan pangkalan data, URL aplikasi dan lain-lain. Edit fail.env
mengikut 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=11211
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
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:
PHP
Versi 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
public
dalam 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.local
dalam 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 lain
1
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
.env
Tambahkan maklumat sambungan Memcached (jika belum):
dotenvCACHE_STORE=memcached MEMCACHED_HOST=127.0.0.1 MEMCACHED_PORT=11211 # Port lalai Memcached ServBay
1
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-test
untuk ujian.
Contoh Redis
Konfigurasi
.env
Tambahkan 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 ServBay
1
2
3
4Nota: Jika anda menguji Memcached dan Redis, cuma satu
CACHE_STORE
perlu 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-test
untuk 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=accounts
1Fail migrasi dicipta dalam direktori
database/migrations
.Edit Fail Migrasi
Buka fail migrasi dan tentukan struktur jadual
accounts
dalam 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 migrate
1Jika konfigurasi pangkalan data betul, migrasi akan mencipta jadual
accounts
beserta jadual lalai Laravel sepertiusers
,password_reset_tokens
, dan lain-lain.
Contoh MySQL
Konfigurasi
.env
untuk 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 ServBay
1
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-account
untuk 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-accounts
untuk menyenaraikan data.
Contoh PostgreSQL
Konfigurasi
.env
untuk 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 ServBay
1
2
3
4
5
6Nota: Jika anda tukar sambungan pangkalan data, migrasi perlu dijalankan semula (cth.
php artisan migrate:refresh
atauphp 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-account
untuk 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-accounts
untuk 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.