Tạo và Chạy Dự Án Laravel
Laravel là gì?
Laravel là một framework web PHP mã nguồn mở được tạo bởi nhà phát triển PHP Taylor Otwell. Nó nhằm cung cấp cho các nhà phát triển một bộ công cụ sạch và thanh lịch để xây dựng các ứng dụng web hiện đại. Laravel cung cấp nhiều tính năng như định tuyến, phiên làm việc, bộ nhớ đệm, xác thực, v.v., giúp đơn giản hóa các tác vụ phát triển web thông thường.
Các Tính Năng Chính và Ưu Điểm của Laravel
- Đơn Giản và Thanh Lịch: Cú pháp của Laravel đơn giản và thanh lịch, làm cho mã dễ đọc và dễ bảo trì hơn.
- Bộ Tính Năng Phong Phú: Bao gồm định tuyến, xác thực, quản lý phiên làm việc và bộ nhớ đệm, giúp đơn giản hóa công việc phát triển.
- ORM Mạnh Mẽ: Eloquent ORM cung cấp một triển khai ActiveRecord đơn giản cho các thao tác cơ sở dữ liệu.
- Thiết Kế Module: Dễ dàng tích hợp các thư viện và phần mở rộng của bên thứ ba thông qua trình quản lý gói Composer.
- Cộng Đồng Hỗ Trợ Mạnh Mẽ: Có một cộng đồng phát triển lớn và hệ sinh thái phong phú.
Laravel giúp các nhà phát triển nhanh chóng xây dựng các ứng dụng web và API chất lượng cao, phù hợp cho các dự án từ nhỏ đến lớn, từ ứng dụng nhỏ đến hệ thống doanh nghiệp lớn.
Tạo và Chạy Dự Án Laravel Sử Dụng ServBay
Trong bài viết này, chúng ta sẽ sử dụng môi trường PHP do ServBay cung cấp để tạo và chạy một dự án Laravel. Chúng ta sẽ sử dụng tính năng ‘Host’ của ServBay để thiết lập máy chủ web và cấu hình để dễ dàng truy cập vào dự án.
Lưu ý: Đối với người dùng trước đây sử dụng NGINX hoặc Apache
ServBay sử dụng Caddy làm máy chủ web mặc định. Đối với người dùng chuyển từ NGINX và Apache sang ServBay, có một số thay đổi quan trọng cần lưu ý:
Cấu Hình Caddy
ServBay đi kèm với Caddy được cài đặt sẵn và cấu hình sẵn cho tối ưu hóa và gỡ lỗi. Các nhà phát triển chỉ cần quản lý các trang web của mình thông qua tính năng ‘Host’ của ServBay mà không cần chỉnh sửa thủ công tệp cấu hình Caddy.
Quy Tắc Rewrite và .htaccess
Trong NGINX và Apache, các nhà phát triển thường viết các quy tắc Rewrite và tệp .htaccess của riêng mình để viết lại URL và các cấu hình khác. Tuy nhiên, ServBay đã cấu hình sẵn các quy tắc của Caddy. Trừ khi bạn có yêu cầu đặc biệt, bạn không cần phải tự viết các quy tắc này.
Tìm Hiểu Thêm
Để biết thêm thông tin, hãy tham khảo Rewrite và .htaccess, Cách Di Chuyển Trang Web Apache Sang ServBay, và Cách Di Chuyển Trang Web NGINX Sang ServBay.
Tạo Dự Án Laravel
TIP
ServBay khuyến nghị các nhà phát triển đặt các trang web trong thư mục /Applications/ServBay/www
để dễ dàng quản lý.
Cài Đặt Composer
ServBay đi kèm với Composer được cài đặt sẵn, không cần cài đặt riêng.
Tạo Dự Án Laravel
Sử dụng Composer để tạo một dự án Laravel mới:
bashcd /Applications/ServBay/www mkdir servbay-laravel-app cd servbay-laravel-app composer create-project --prefer-dist laravel/laravel .
1
2
3
4Vào Thư Mục Dự Án
Vào thư mục dự án Laravel vừa tạo:
bashcd /Applications/ServBay/www/servbay-laravel-app
1
Cấu Hình Ban Đầu
Tạo Khóa Ứng Dụng
Laravel yêu cầu một khóa ứng dụng để đảm bảo an ninh cho các phiên làm việc của người dùng và các dữ liệu được mã hóa khác. Sử dụng lệnh Artisan để tạo nó:
bashphp artisan key:generate
1Cấu Hình Biến Môi Trường
Cấu hình thông tin kết nối cơ sở dữ liệu và các biến môi trường khác trong tệp
.env
. Đảm bảo các cấu hình sau được thiết lập chính xác:APP_NAME=Laravel APP_ENV=local APP_KEY=base64:... APP_DEBUG=true APP_URL=https://servbay-laravel-test.local LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Cấu Hình Máy Chủ Web
Sử dụng tính năng ‘Host’ của ServBay để truy cập dự án Laravel thông qua máy chủ web. Trong cài đặt ‘Host’ của ServBay, thêm một host mới:
- Tên:
My First Laravel Dev Site
- Tên Miền:
servbay-laravel-test.local
- Loại Trang Web:
PHP
- Phiên Bản PHP: Chọn
8.3
- Thư Mục Gốc Web:
/Applications/ServBay/www/servbay-laravel-app/public
Để biết các bước thiết lập chi tiết, tham khảo Thêm Trang Web Đầu Tiên.
Thêm Mã Mẫu
Thêm mã sau vào tệp routes/web.php
để xuất "Hello ServBay!":
Route::get('/', function () {
return 'Hello ServBay!';
});
2
3
Truy Cập Trang Web
Mở trình duyệt của bạn và truy cập https://servbay-laravel-test.local
, bạn sẽ thấy trang hiển thị Hello ServBay!
.
Ví Dụ Cơ Sở Dữ Liệu NoSQL
Ví Dụ Memcached
Cài Đặt Tiện Ích Memcached
Tiện ích Memcached được cài đặt sẵn trong ServBay, không cần cài đặt thêm.
Cấu Hình Memcached
Cấu hình thông tin kết nối Memcached trong tệp
.env
:CACHE_STORE=memcached MEMCACHED_HOST=127.0.0.1
1
2Sử Dụng Memcached
Sử dụng bộ nhớ đệm trong controller:
phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached', function () { Cache::put('key', 'value', 600); return Cache::get('key'); });
1
2
3
4
5
6
Ví Dụ Redis
Cài Đặt Tiện Ích Redis
Tiện ích Redis được cài đặt sẵn trong ServBay, không cần cài đặt thêm.
Cấu Hình Redis
Cấu hình thông tin kết nối Redis trong tệp
.env
:CACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
1
2
3
4Sử Dụng Redis
Sử dụng bộ nhớ đệm trong controller:
phpuse Illuminate\Support\Facades\Redis; Route::get('/redis', function () { Redis::set('key', 'value'); return Redis::get('key'); });
1
2
3
4
5
6
Ví Dụ Cơ Sở Dữ Liệu Quan Hệ
Tạo Cấu Trúc Cơ Sở Dữ Liệu và Tệp Migration
Tạo Tệp Migration
Sử dụng lệnh Artisan để tạo tệp migration:
bashphp artisan make:migration create_accounts_table
1Chỉnh Sửa Tệp Migration
Tìm tệp migration vừa tạo trong thư mục
database/migrations
và chỉnh sửa để định nghĩa cấu trúc bảng cơ sở dữ liệu:phppublic function up() { Schema::create('accounts', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); }
1
2
3
4
5
6
7
8
9Chạy Migration
Sử dụng lệnh Artisan để chạy migration và tạo bảng cơ sở dữ liệu:
bashphp artisan migrate
1
Ví Dụ MySQL
Cấu Hình MySQL
Cấu hình thông tin kết nối MySQL trong tệp
.env
:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6Thêm Dữ Liệu Người Dùng
Thêm dữ liệu người dùng trong controller:
phpuse Illuminate\Support\Facades\DB; Route::get('/mysql-add', function () { DB::table('accounts')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'Account added'; });
1
2
3
4
5
6
7
8
9Sử Dụng MySQL
Truy vấn cơ sở dữ liệu trong controller:
phpuse Illuminate\Support\Facades\DB; Route::get('/mysql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6
Ví Dụ PostgreSQL
Cấu Hình PostgreSQL
Cấu hình thông tin kết nối PostgreSQL trong tệp
.env
:DB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6Thêm Dữ Liệu Người Dùng
Thêm dữ liệu người dùng trong controller:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-add', function () { DB::table('accounts')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'Account added'; });
1
2
3
4
5
6
7
8
9Sử Dụng PostgreSQL
Truy vấn cơ sở dữ liệu trong controller:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6
Bằng cách làm theo các bước này, bạn đã tạo và chạy thành công một dự án Laravel, sử dụng các tính năng của ServBay để quản lý và truy cập dự án của bạn, và kết nối các cơ sở dữ liệu khác nhau để truy xuất dữ liệu.