Không thể tạo biến bằng const trong PHP

Chào anh chị ! Em mới thay đổi từ define sang const trong mã nguồn mình . Thắc mắc là 2 cách bên dưới thì hoạt động

$cur_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
define(CUR_URL,(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");

Còn :

const CUR_URL = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

thì hiển thị lỗi

Constant expression contains invalid operations in ....

Xin giúp đỡ em fix ạ . cảm ơn anh chị

lý do là vì giá trị vế phải có thể thay đổi, không xác định được trước
define thì khi code chạy mới tính, không cần biết trước giá trị

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?