_____ _____ ___ _ _ _____
/ ____| __ \ |__ \| || | |___ |
| | __| |__) | ) | || |_ / /
| | |_ | ___/ / /|__ _| / /
| |__| | | / /_ | | / /
\_____|_| |____| |_| /_/
🌐 Ngôn ngữ: 🇻🇳 Tiếng Việt (hiện tại) · 🇬🇧 English
Cài đặt core (khi đã có laravel):
composer require gp247/core
Trang chủ | Tài liệu chính thức | Skill agent chính thức | Fanpage chính thức
Giới thiệu về GP247
GP247 là một hệ thống mã nguồn mở mạnh mẽ, an toàn, linh hoạt, thân thiện với AI agent, được xây dựng trên nền tảng Laravel.
Các thành phần chính trong hệ sinh thái của GP247:
- [Package] GP247/core: Là core của toàn bộ hệ sinh thái. GP247/core có thể hoạt động độc lập như 1 laravel admin.
- [Package] GP247/front: Gói cung cấp các chức năng cơ bản cho một cms của doanh nghiệp.
- [Package] GP247/shop: Cung cấp đầy đủ chức năng của một website bán hàng.
[Project] S-Cart = GP247/core + GP247/front + GP247/shop
Core Laravel:
GP247 3.x
Core laravel framework 13.x
Cấu trúc website sử dụng GP247
Website-folder/
|
├── app
│ └── GP247
│ ├── Core(+) //Tùy chỉnh controller của Core
│ ├── Helpers(+) //Tự động tải Helpers/*.php
│ ├── Plugins(+) //Sử dụng `php artisan gp247:make-plugin --name=TenPlugin`
//(NẾU bạn đã cài đặt gp247/front)//
│ ├── Front(+) //Tùy chỉnh controller của Front
//(NẾU bạn đã cài đặt gp247/shop)//
│ ├── Shop(+) //Tùy chỉnh controller của Shop
│ └── Templates(+) //Sử dụng `php artisan gp247:make-template --name=TenTemplate`
├── public
│ └── GP247
│ ├── Core(+)
│ ├── Plugins(+)
//(NẾU bạn đã cài đặt gp247/front)//
│ └── Templates(+)
├── resources
│ └── views/vendor
│ |── gp247-admin(+) //Tùy chỉnh view core
│ |── gp247-front-admin(+) //(NẾU bạn đã cài đặt gp247/front)//
│ └── gp247-shop-admin(+) //(NẾU bạn đã cài đặt gp247/shop)//
├── vendor
│ ├── gp247/core
│ ├── gp247/front
│ └── gp247/shop
├── .env
│ └── GP247_ACTIVE=1 //BẬT|TẮT gp247
└──...
Hướng dẫn cài đặt nhanh
-
Bước 1: Chuẩn bị source Laravel
Tham khảo lệnh:
composer create-project laravel/laravel website-folder -
Bước 2: Cài đặt gói gp247/core
Di chuyển vào thư mục Laravel (trong ví dụ này là
website-folder), và chạy lệnh:composer require gp247/core -
Bước 3: Kiểm tra cấu hình trong file .env
Đảm bảo thông tin cấu hình database và APP_KEY trong file .env đã đầy đủ.
Nếu APP_KEY chưa được thiết lập, sử dụng lệnh sau để tạo:
php artisan key:generate -
Bước 4: Cấu hình database
Mặc định, GP247 sử dụng mysql. Cấu hình sẽ được lưu trong file .env như sau:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=gp247
DB_USERNAME=root
DB_PASSWORD=
Nếu bạn muốn sử dụng sqlite để kiểm tra nhanh, vui lòng thay đổi connection trong file .env thành sqlite, và comment các dòng DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD.
DB_CONNECTION=sqlite
#DB_HOST=127.0.0.1
#DB_PORT=3306
#DB_DATABASE=gp247
#DB_USERNAME=root
#DB_PASSWORD=
-
Bước 5: Khởi tạo gp247
Chạy lệnh:
php artisan gp247:installgp247:installtự động phát hiện các gói GP247 đang có và cài theo thứ tự (core [+front] [+shop]); mặc định sẽ hỏi xác nhận, thêm--force=1để cài không cần tương tác. -
Bước 6: Thêm xử lý lỗi
Để thêm xử lý lỗi tùy chỉnh cho ứng dụng của bạn, hãy mở file
bootstrap/app.phpvà thêm đoạn mã sau vào hàmwithExceptions:// GP247 add new $exceptions->report(function (\Throwable $e) { try { if (function_exists('gp247_handle_exception')) { gp247_handle_exception($e); } } catch (\Throwable $inner) { \Log::error($e->getMessage(), ['exception' => $e]); } });Đoạn mã này sẽ giúp bạn xử lý các ngoại lệ thông qua hàm
gp247_handle_exceptionnếu hàm này tồn tại.
Thông tin hữu ích:
📖 Tham chiếu dòng lệnh đầy đủ. Các lệnh dưới đây chỉ là những lệnh thông dụng nhất. Xem tất cả lệnh artisan của GP247 cùng tùy chọn và ví dụ trong tài liệu chính thức: Tiếng Việt · English.
Để xem phiên bản GP247
php artisan gp247:info
Cập nhật gp247
Cập nhật gói bằng lệnh:
composer update gp247/core
Sau đó chạy lệnh refresh an toàn, không phá dữ liệu (cập nhật core, cập nhật schema shop nếu có module shop, và rebuild cache):
php artisan gp247:update
Tùy chọn — cập nhật lại file ngôn ngữ. Mặc định gp247:update giữ nguyên
bản dịch của bạn. Thêm --overwrite-lang để kéo bản dịch mới nhất, ghi đè mọi
chuỗi ngôn ngữ bạn đã sửa:
php artisan gp247:update --overwrite-lang
Tùy chọn — cập nhật lại asset/view đã publish lên bản mới nhất.
composer update chỉ cập nhật package trong vendor/; các file đã publish ra
public/GP247 và resources/views/vendor/gp247-admin không tự động được ghi
đè. Cách gọn nhất là dùng option tùy chọn --publish=<tokens> của
gp247:update (mặc định không publish gì). Chỉ core-public là an toàn (asset
admin đã build); các token view sẽ ghi đè tùy biến của bạn, nên hãy backup trước:
php artisan gp247:update --publish=core-public// an toàn: làm mới CSS/JS admin
php artisan gp247:update --publish=core-public,core-view// đồng thời ghi đè view admin (PHÁ DỮ LIỆU)
gp247:update không có cờ --force — tự gõ token phá-dữ-liệu chính là đồng
thuận, và chạy tương tác vẫn cảnh báo và hỏi xác nhận.
Hoặc publish từng tag thủ công bằng vendor:publish --force:
php artisan vendor:publish --tag=gp247:core-public --force// -> public/GP247 (build admin: CSS/JS, ...)
php artisan vendor:publish --tag=gp247:core-view --force// -> resources/views/vendor/gp247-admin
NẾU bạn đã cài đặt gp247/front, publish lại thêm asset/view của front:
php artisan vendor:publish --tag=gp247:front-public --force// -> public/GP247/Templates/GP247Front (CSS/JS storefront)
php artisan vendor:publish --tag=gp247:front-view --force// -> app/GP247/Templates/GP247Front (view template mặc định)
⚠️
--forcesẽ ghi đè các file ở thư mục đích, bao gồm cả những tùy chỉnh cục bộ đã sửa ở đó. Hãy backuppublic/GP247và thư mục view đã publish trước, và chỉ publish đúng tag bạn thực sự cần.
Để tạo plugin:
php artisan gp247:make-plugin --name=TenPlugin
Để tạo file zip plugin
php artisan gp247:make-plugin --name=TenPlugin --download=1
Để tạo template (NẾU bạn đã cài đặt gp247/front):
php artisan gp247:make-template --name=TenTemplate
Để tạo file zip template:
php artisan gp247:make-template --name=TenTemplate --download=1
Tùy chỉnh
Tùy chỉnh cấu hình lfm dành cho upload
php artisan vendor:publish --tag=config-lfm
Tùy chỉnh view của core admin
php artisan vendor:publish --tag=gp247:core-view// -> views/vendor/gp247-admin
Ghi đè các hàm helper gp247_*
Bước 1: Thêm danh sách các hàm muốn ghi đè vào
config/gp247_functions_except.php
Bước 2: Tạo các file php chứa các hàm mới trong thư mục
app/GP247/Helpers, ví dụapp/GP247/Helpers/myfunction.php
Ghi đè các file controller gp247
Bước 1: Copy các file controller muốn ghi đè trong vendor/gp247/core/src/Core/Controllers -> app/GP247/Core/Controllers
Bước 2: Thay đổi
namespace GP247\Core\Controllersthànhnamespace App\GP247\Core\Controllers
Ghi đè các file controller API gp247
Bước 1: Copy các file controller muốn ghi đè trong vendor/gp247/core/src/Api/Controllers -> app/GP247/Core/Api/Controllers
Bước 2: Thay đổi
namespace GP247\Core\Api\Controllersthànhnamespace App\GP247\Core\Api\Controllers
Thêm route
Sử dụng các hằng số prefix và middleware GP247_ADMIN_PREFIX, GP247_ADMIN_MIDDLEWARE trong khai báo route.
Tham khảo: https://github.com/gp247net/core/blob/master/src/routes.php
Các biến môi trường trong file .env
Nhanh chóng tắt GP247 và plugins
GP247_ACTIVE=1// Để tắt, đặt giá trị 0
Tắt APIs
GP247_API_MODE=1// Để tắt, đặt giá trị 0
Tiền tố bảng dữ liệu
GP247_DB_PREFIX=gp247_//Không thể thay đổi sau khi cài đặt gp247
Tiền tố đường dẫn đến admin
GP247_ADMIN_PREFIX=gp247_admin