Define – Defined và Const là gì trong PHP – Tìm hiểu về hằng số

Define – Defined và Const là gì trong PHP – Tìm hiểu về hằng số trong PHP, giống và khác nhau giữa Define – defined và const trong php. Nội dung này sẽ làm rõ các vấn đề trên.

Sau nhiều thời gian tiếp xúc và làm việc với các bạn Developer từ Fresher cho đến Senior hay thập chí là các Leader chuyên PHP vẫn có một số bạn bị hỏng học thức căn bản về các hàm, bằng, biến, kiểu dữ liệu .. các học thức căn bản cần xây dựng để bạn đi lâu – dài và xa trên đoạn đường lập trình viên này.

Hằng số là gì trong PHP ?

Hằng số là một tên (dịnh danh) cho một giá trị dễ dàng không quá cầu kỳ. Gọi là hằng số bởi vì giá trị ứng với tên hằng sau khoảng thời gian khái niệm là không đổi trong công cuộc thực thi của php. Mặc định hằng số có phân biệt chữ hoa chữ thường.

Thông thường theo quy định trong viết code thì ta nên đặt tên hằng số bằng các ký tự IN HOA, và đây cũng là phép tắc đặt tên chung của PHP, vì mặt định trong PHP cũng từng khai báo sẳn rất là nhiều hằng số rồi, tí nữa tôi sẽ đề cập. Một hằng số phải khởi đầu bằng một ký tự chữ  (α-Ż) hoặc gạch dưới (_), theo sau không được chứa các ký tự đặc biệt.

Define là gì trong PHP ?

Define là hàm của PHP dùng để khai báo, khái niệm cho một hằng số. Hàm define này hoạt động trong các phiên bản PHP từ PHP 4, PHP 5, PHP 7, PHP 8 đều có cả, một hàm mà tồn tại từ PHP4 đến PHP vẫn còn thì bạn biết đọ trọng yếu của nó đến đâu rồi đó, vì các phiên bản cải tiến của PHP sau này đều loại đi rất nhiền hàm của PHP cũ.

Nếu bạn đã làm việc với PHP từ hồi PHP 5.3 đến khi PHP không phụ trợ phiên bản này thì bạn phải bắt buộc nâng lên PHP 5.6 bạn sẽ thấy vô số điều độc đáo và đau đầu vì 1 số hàm đã bị loại bỏ ở PHP 5.6 và các version mới hơn sau này.

define ( string $name , mixed $value , bool $case_insensitive = false ) : bool
# Cú pháp và kiểu dữ liệu của Hàm define
  1. Tham số:
  2. $name: tên của hằng.
  3. $value: giá trị của hằng.
  4. $case_insensitive: không phân biệt chữ hoa chữ thường thì là true, trái lại là false.
  5. Giá trị trả về: TRUE hoặc FALSE.
Xem Thêm  Liên kết các trang trong HTML - liên kết hai trang html

Có thể khái niệm các hằng define() với các tên dành riêng hoặc thậm chí không hợp lệ, mà giá trị của nó có thể (chỉ) được truy xuất với hằng define(). Bên cạnh đó, làm như thế là không nên.

Để lấy giá trị hằng bạn chỉ cần nêu ra tên hằng, hằng số có phạm vi toàn cục, có nghĩa là sau khoảng thời gian khái niệm bạn có thể truy cập nó ở bất kỳ đâu.

Trong trường hợp bạn dùng biến lưu trữ tên hằng thì lấy giá trị của hằng bằng hàm constant($name).

<?php 
    define("LPTECH", 'LEVANPHU');
    echo LPTECH;         //Lấy hằng số bằng cách nêu ra tên
    $levanphu = 'LEVANPHU';
    echo constant($levanphu); // Lấy hằng số có tên lưu trong biến $levanphu
?> 

Tham khảo thêm ebook từ trang gốc của PHP: https://www.php.net/manual/en/function.define.php

Defined là gì trong PHP ? 

Hàm defined() là hàm dùng để Kiểm soát xem một hằng số được đặt tên đã cho có tồn tại hay không. Nghĩa nôm na là kiểm soát xem đã được khai báo bằng hàm define hay const chưa đấy.

Giá trị trả về là kiểu Bool nghĩa là True hoặc False, không có giữa giữa nhé.

bool define  ( string $name  )
#Cú pháp

Chẳng hạn sau coi là hiểu ngay nha:

define('LPTECH_IP', '192.168.1.1');

# KIỂM TRA BẰNG HÀM DEFINED
defined('LPTECH_IP'); // TRUE
defined('LP_IP'); // FALSE

Hoặc chẳng hạn sau:

<?php
/* Note việc sử dụng dấu ngoặc kép, điều này là trọng yếu. Chẳng hạn này đang kiểm soát
 * nếu chuỗi 'TEST' là tên của một hằng số có tên TEST */
if (defined('TEST')) {
    echo TEST;
}
?>

Const là gì trong PHP ?

Const là từ khoá cũng giống với hàm define dùm để khai báo một hằng số, không những thế có một chút độc đáo giữa chúng, hay cùng LPTech.Asia tìm hiểu xem chúng khác nhau như vậy nào bạn nhé.

Xem Thêm  API JavaScript của Maps - google maps api setmap

Từ PHP 5.3.0 trở đi thì có thể dùng keyword const để khái niệm hằng số, từ PHP 7 còn tồn tại thể khái niệm hằng số bằng một mảng các giá trị, chẳng hạn:

// Khái niệm hằng số bằng keyword const
const MONDAY = "THỨ HAI";
echo MONDAY, PHP_EOL;

// hằng số là một mảng các ký tự
const DAYOFWEEK = [
    'CHỦ NHẬT', 'THỨ HAI', 'THỨ BA', 'THỨ TƯ', 'THỨ NĂM', 'THỨ SAU', 'THỨ BẢY',
];
// Truy cập đọc hằng số
echo DAYOFWEEK[6]; // THỨ BẢY

Dùng keyword const cũng là cách tạo hằng số cho một lớp ở phần lập trình hướng đối tượng PHP

Sự khác nhau giữa hằng số và biến (constant và variable)

Tên hằng số thi không cần khởi đầu bằng ký tự $ $ như biến.

Hằng số chẳng thể sử dụng phép gán giá trị như biến (=), giá trị của nó phải được xác nhận duy nhất tại hàm define.

Hằng số có thể truy cập bất kể ở đâu mà không hạn chế phạm vị như biến.

Ngay sau khoảng thời gian giá trị hằng cài đặt, nó không bị biến đổi hay khái niệm lại nữa.

Các hằng số được khai báo sẳn trong PHP từ thuở thiên thu

PHP phân phối một số lượng lớn các hằng đã khái niệm sẵn từ cái thuở thiên thu vạn đại nào rồi, một số hằng rất đặc biệt hay còn được gọi là Magic constant

Ảnh: Cách mà 1 hằng số hoạt động trong bộ nhớ lưu trữ

Để xem phiên bản PHP của chúng ta đang sử dụng có khai báo sẳn những hằng số nào rồi thì sử dụng đoạn code sau nhé.

$lptech_constant_list = get_defined_constants(true);
echo '<prevàgt;';
var_dump($lptech_constant_list);
echo '</prevàgt;';
die;

 Còn đây là mục lục có sẳn luôn luôn có được họ phân phối trên ebook đây.

Xem Thêm  Làm thế nào để căn giữa h1 trong CSS? - làm thế nào để căn giữa một h1

Tên hằngMô tả__LINE__Dòng bây giờ của php file.__FILE__

Tên file đầy đủ của script đang thi hành.

__DIR__Tên thư mục đầy đủ của file PHP__FUNCTION__Lấy tên của hàm đang chạy__CLASS__Tên của lớp đang chạy__TRAIT__Tên của trait đang chạy__METHOD__Lấy tên mothod của lớp__NAMESPACE__Lấy tên namspaceClassName::clasTên đầy đủ của một lớp

 

Chúc các bạn có thêm học thức lập trình tốt hơn.

Nội dung được viết và biên soạn bởi LPTech.Asia.

Viết một bình luận