[Package] GP247/core

Sửa trên GitHub
  _____  _____     ___  _  _   _____ 
 / ____|  __ \   |__ \| || | |___  |
| |  __| |__) |     ) | || |_   / / 
| | |_ |  ___/     / /|__   _| / /  
| |__| | |        / /_   | |  / /   
 \_____|_|       |____|  |_| /_/    

🌐 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

Tổng lượt tải Phiên bản ổn định mới nhất Giấy phép Ask DeepWiki

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 2.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:core-install

  • 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.php và thêm đoạn mã sau vào hàm withExceptions:

          // 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_exception nếu hàm này tồn tại.

Thông tin hữu ích:

Để xem phiên bản GP247

php artisan gp247:core-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:

php artisan gp247:core-update

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/GP247resources/views/vendor/gp247-admin không tự động được ghi đè. Nếu bản phát hành mới có thay đổi CSS/JS đã build sẵn hoặc view admin và bạn muốn áp dụng lên site, hãy publish lại kèm --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)

⚠️ --force sẽ 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 backup public/GP247 và 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\Controllers thành namespace 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\Controllers thành namespace 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