Các hàm PHP tích hợp sẵn trong AppGini để phát triển ứng dụng

Bắt đầu bởi admin, T07 20, 2025, 11:08 SÁNG

Chủ đề trước - Chủ đề tiếp theo

admin

Các hàm PHP tích hợp sẵn trong AppGini để phát triển ứng dụng

Chào mọi người, 
Mình đang tìm hiểu về AppGini và thấy nó cung cấp nhiều hàm PHP tích hợp rất hữu ích để làm việc với cơ sở dữ liệu, quản lý người dùng, và tùy chỉnh ứng dụng (đặc biệt khi xây API RESTful). Dưới đây là tóm tắt một số hàm chính, hy vọng hữu ích cho anh em!

1. Hàm cơ sở dữ liệu
  • sql($query, &$eo): Thực thi truy vấn SQL. 
    $query = "SELECT * FROM users WHERE id = 1";
    $result = sql($query, $eo);
    while ($row = db_fetch_assoc($result)) {
        echo $row['username'];
    }
  • sqlValue($query): Lấy giá trị duy nhất từ truy vấn. 
    $username = sqlValue("SELECT username FROM users WHERE id = 1");
    echo $username ? $username : "Không tìm thấy";
  • db_fetch_assoc($result): Lấy hàng dữ liệu dạng mảng liên kết. 
    $result = sql("SELECT * FROM users", $eo);
    while ($row = db_fetch_assoc($result)) {
        echo $row['username'] . " - " . $row['email'];
    }
  • db_insert_id(): Lấy ID của bản ghi vừa thêm. 
    sql("INSERT INTO users (username) VALUES ('john')", $eo);
    echo "ID mới: " . db_insert_id();

2. Hàm quản lý người dùng
  • getMemberInfo(): Lấy thông tin người dùng hiện tại. 
    $memberInfo = getMemberInfo();
    echo $memberInfo ? $memberInfo['username'] : "Chưa đăng nhập";
  • is_allowed($table, $id, $operation): Kiểm tra quyền truy cập. 
    if (is_allowed("users", 1, "edit")) {
        echo "Có quyền chỉnh sửa";
    } else {
        echo "Không có quyền";
    }

3. Hàm xử lý dữ liệu
  • makeSafe($string, $is_array = false): Làm sạch dữ liệu để chống SQL Injection. 
    $input = makeSafe($_POST['username']);
    $query = "SELECT * FROM users WHERE username = '$input'";
  • htmlSpecialChars($string): Ngăn XSS bằng cách mã hóa HTML. 
    $description = htmlSpecialChars($_POST['description']);
    echo $description;

4. Hàm khác
  • getTableList(): Lấy danh sách bảng. 
    $tables = getTableList();
    print_r($tables);
  • sendmail($options): Gửi email. 
    $options = [
        'to' => 'user@example.com',
        'subject' => 'Chào mừng',
        'message' => 'Chào mừng bạn!'
    ];
    sendmail($options);

Ví dụ sử dụng trong API RESTful
Dùng các hàm trên để xây API RESTful cho AppGini: 
require_once('../hooks/config.php');
header('Content-Type: application/json');

if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    $memberInfo = getMemberInfo();
    if (!$memberInfo || !is_allowed("users", null, "view")) {
        http_response_code(403);
        echo json_encode(['error' => 'Access denied']);
        exit;
    }

    $query = "SELECT id, username, email FROM users";
    $result = sql($query, $eo);
    $users = [];
    while ($row = db_fetch_assoc($result)) {
        $users[] = $row;
    }
    http_response_code(200);
    echo json_encode($users);
}

Lưu ý
  • Dùng makeSafe() hoặc sqlValue() để bảo mật.
  • Kiểm tra biến $eo để xử lý lỗi truy vấn.
  • Xem thêm tài liệu tại bigprof.com/appgini.

Anh em có ai biết thêm hàm nào hay hoặc mẹo dùng AppGini không? Chia sẻ với mình nhé! 😄