Tạo và Chạy Dự Án Laravel
Laravel là gì?
Laravel là một framework PHP mã nguồn mở được tạo ra 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ụ gọn gàng và thanh lịch để xây dựng các ứng dụng web hiện đại. Laravel cung cấp một tập hợp tính năng phong phú, chẳng hạn như định tuyến, phiên, 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à bảo trì hơn.
- Tập Hợp Tính Năng Phong Phú: Bao gồm định tuyến, xác thực, quản lý phiên và bộ nhớ đệm, đơn giản hóa quá trình phát triển đáng kể.
- 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.
- Hỗ Trợ Cộng Đồng Mạnh Mẽ: 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 ở mọi quy mô, từ các ứng dụng nhỏ đến các hệ thống cấp doanh nghiệp lớn.
Tạo và Chạy Dự Án Laravel với ServBay
Trong bài viết này, chúng ta sẽ sử dụng môi trường PHP của ServBay để 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à truy cập dự án thông qua cấu hình đơn giản.
::: cảnh báo Lưu ý: Nếu bạn trước đây là người dùng NGINX hoặc Apache
ServBay sử dụng Caddy làm máy chủ web mặc định. Có một số thay đổi quan trọng cần lưu ý cho những người dùng chuyển từ NGINX và Apache sang ServBay:
Cấu Hình Caddy
ServBay đã tích hợp sẵn Caddy, và nó đã được tối ưu hóa và gỡ lỗi mặc định. Các nhà phát triển chỉ cần sử dụng tính năng 'Host' của ServBay để quản lý trang web, mà không cần phải sửa đổi thủ công các tập tin cấu hình của Caddy.
Quy Tắc Rewrite và .htaccess
Trong NGINX và Apache, các nhà phát triển thường cần phải tự viết các quy tắc rewrite và tập tin .htaccess để xử lý việc rewrite URL và các cấu hình khác. Tuy nhiên, các thiết lập mặc định của ServBay đã cấu hình sẵn các quy tắc của Caddy, trừ khi có yêu cầu đặc biệt, các nhà phát triể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, vui lòng tham khảo Rewrite và htaccess, Cách Chuyển Trang Web Apache Sang ServBay, Cách Chuyển Trang Web NGINX Sang ServBay.
:::
Tạo Dự Án Laravel
TIP
ServBay khuyến cáo các nhà phát triển đặt 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 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
Điều hướng đến thư mục dự án Laravel mới 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 toàn cho các phiên người dùng và dữ liệu được mã hóa khác. Bạn có thể tạo một khóa ứng dụng bằng lệnh Artisan:
bashphp artisan key:generate
1Cấu Hình Các 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 tin
.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 của Trang Web:
/Applications/ServBay/www/servbay-laravel-app/public
Để biết chi tiết các bước, vui lòng tham khảo Thêm Trang Web Đầu Tiên.
Thêm Mã Ví Dụ
Thêm đoạn mã sau vào tập tin routes/web.php
để đầu ra "Hello ServBay!":
Route::get('/', function () {
return 'Hello ServBay!';
});
2
3
Truy Cập Trang Web
Mở trình duyệt 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
Trong ServBay, tiện ích Memcached đã được cài đặt sẵn, không cần cài đặt bổ sung.
Cấu Hình Memcached
Cấu hình thông tin kết nối Memcached trong tập tin
.env
:CACHE_STORE=memcached MEMCACHED_HOST=127.0.0.1
1
2Sử Dụng Memcached
Sử dụng bộ nhớ đệm trong tập tin
routes/web.php
:phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached', function () { Cache::put('key', 'value', 600); return Cache::get('key'); });
1
2
3
4
5
6Mở trình duyệt và truy cập
https://servbay-laravel-test.local/memcached
Ví Dụ Redis
Cài Đặt Tiện Ích Redis
Trong ServBay, tiện ích Redis đã được cài đặt sẵn, không cần cài đặt bổ sung.
Cấu Hình Redis
Cấu hình thông tin kết nối Redis trong tập tin
.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 tập tin
routes/web.php
:phpuse Illuminate\Support\Facades\Redis; Route::get('/redis', function () { Redis::set('key', 'value'); return Redis::get('key'); });
1
2
3
4
5
6Mở trình duyệt và truy cập
https://servbay-laravel-test.local/redis
Ví Dụ Cơ Sở Dữ Liệu Quan Hệ
Tạo Cấu Trúc Cơ Sở Dữ Liệu và Tập Tin Migration
Ví Dụ MySQL
Cấu Hình MySQL
Cấu hình thông tin kết nối MySQL trong tập tin
.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
6Tạo Tập Tin Migration
Sử dụng lệnh Artisan để tạo tập tin migration:
bashphp artisan make:migration create_accounts_table
1Chỉnh Sửa Tập Tin Migration
Tìm tập tin migration mới 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 để tạo bảng cơ sở dữ liệu:
bashphp artisan migrate
1Thêm Dữ Liệu Tài Khoản
Thêm dữ liệu tài khoản trong tập tin
routes/web.php
: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 tập tin
routes/web.php
:phpuse Illuminate\Support\Facades\DB; Route::get('/mysql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6Mở trình duyệt và truy cập
https://servbay-laravel-test.local/mysql-add
vàhttps://servbay-laravel-test.local/mysql
Ví Dụ PostgreSQL
Cấu Hình PostgreSQL
Cấu hình thông tin kết nối PostgreSQL trong tập tin
.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
6Tạo Tập Tin Migration
Sử dụng lệnh Artisan để tạo tập tin migration:
bashphp artisan make:migration create_accounts_table
1Chỉnh Sửa Tập Tin Migration
Tìm tập tin migration mới 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 để tạo bảng cơ sở dữ liệu:
bashphp artisan migrate
1Thêm Dữ Liệu Tài Khoản
Thêm dữ liệu tài khoản trong tập tin
routes/web.app
: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 tập tin
routes/web.php
:phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6Mở trình duyệt và truy cập
https://servbay-laravel-test.local/pgsql-add
vàhttps://servbay-laravel-test.local/pgsql
Bằng cách làm theo các bước trên, bạn đã thành công trong việc tạo và chạy một dự án Laravel, quản lý và truy cập dự án của bạn bằng các tính năng của ServBay, kết nối với nhiều cơ sở dữ liệu và truy vấn dữ liệu.