Constant trong PHP

Hằng số trong PHP là tên hoặc mã định danh không thể thay đổi trong khi thực thi chương trình. Các hằng số PHP có thể được định nghĩa theo 2 cách:

  1. Sử dụng hàm define[]
  2. Sử dụng từ khóa const.

Các hằng số trong PHP tuân theo các quy tắc tương tự như biến PHP. Ví dụ: chỉ có thể bắt đầu bằng chữ cái hoặc dấu gạch dưới.

Hằng nghe như là một khái niệm gì mới nhưng thực chất ra nó chính là biến mà ta đã tìm hiểu ở bài trước.Tuy nhiên Hằng và Biến có những sự khác nhau nhất định mà ta mới phải học trong 2 bài khác nhau.

Hằng là một định danh cho một giá trị đơn giản. Giống như Hằng mà ta đã học ở toán, Hằng trong PHP cũng không thể thay đổi giá trị của nó[trong khi Biến thì có thể thay đổi]. Giá trị tương ứng với tên Hằng sau khi ta định nghĩa sẽ không thay đổi trong quá trình chúng ta thi hành script.

2. So sánh giữa Hằng và Biến trong PHP

Bản chất thì Hằng chính là Biến nhưng không thể thay đổi giá trị. Tuy nhiên Hằng và Biến có những sự khác nhau khác và đặc biệt là Hằng mà ta cần lưu ý.

  • Đầu tiên sự khác biệt ta có thể thấy rõ nhất là Hằng sẽ không cần ký tự dollar[$] như ở Biến.
  • Hằng có thể truy cập ở bất cứ đâu mà sẽ không bị giới hạn truy cập như là Biến[phạm vi toàn cục GLOBAL].
  • Biến sẽ được gán giá trị bởi dấu [ = ] còn với Hằng ta phải khai báo được thì ta cần sử dụng hàm define[]
  • Ngay sau khi giá trị của Hằng thiết lập ta không định nghĩa lại nếu không ta sẽ gặp lỗi phát sinh.
3. Cách khai báo một Hằng trong PHP

Hằng số có cách khai báo khác hẳn với Biến. Chúng ta sẽ sử dụng hàm define[] để có thể khai báo ra một Hằng.

Trước khi khai báo ra một Hằng thì mình có một số lưu ý nhỏ cho các bạn nhé:

  • Hằng cũng sẽ phân biệt chữ hoa chữ thường.
  • Thông thường khi code ta nên đặt tên Hằng bằng chữ in hoa để có thể phân biệt rõ ràng hơn và khi code chúng ta sẽ dễ nhìn hơn[cái này là không bắt buộc nhé!].
  • Hằng phải bắt đầu bằng một ký tự chữ cái hoặc dấu gạch dưới[ _ ], và theo sau không được có các ký tự đặc biệt.

Để khai báo ra được một Hằng ta sử dụng hàm define[] và ta sẽ có câu lệnh sau

define[name, value, case-insensitive];. Mình sẽ phân biệt các thông số qua bảng sau:

Tham sốÝ NghĩaVí dụName[bắt buộc]Tên hằng“LAPTRINHTUDAU”Value[bắt buộc]Giá trị của hằng“Chào mừng bạn đến với khóa hoc online của mình!”Case-insensitive
[không bắt buộc]Phân biệt chữ in hoa in thường

Tham số này có thể nhận một trong 2 giá trị:

True: không phân biệt.

False: có phân biệt – sẽ được đặt là giá trị mặc định.

Trong một số trường hợp mà bạn muố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[].

Ví dụ:

Khi bạn định nghĩa một Hằng rồi mà sau đó lại định nghĩa tiếp Hằng đó rồi thì câu hỏi là làm sao để ta có thể biết Hằng đó đã được định nghĩa hay chưa? Và trong PHP ta sẽ sử dụng hàm defined[].

4. Các hàm đã được định nghĩa sẵn trong PHP – Built in Constants

Khi ta hoạt động PHP thì sẽ có hàng ngàn Hằng số và sau nhiều cải tiến mà nâng cấp, PHP đã hỗ trợ người lập trình bằng cách cung cấp sẵn các Hằng như: các hằng môi trường, các hằng của Web server Apache,… Và PHP cũng giúp người lập trình xem các giá trị này bằng hàm phpinfo[]. Các bạn cũng có thể tham khảo thêm tại //www.php.net/manual/en/reserved.constants.php

5. Một số hàm đặc biệt và hay dùng trong PHP [Magic Constant]

PHP cung cấp sẵn cho ta một số lượng lớn Hằng đã được định nghĩa sẵn. Nhưng ta đôi khi cũng không nhớ và sử dụng được hết tất cả. Nhưng có những Hằng đặc biệt và ta sẽ sử dụng liên tục trong quá trình học tập và làm việc. Mình sẽ cung cấp cho các bạn một số Hằng mà chúng ta sẽ hãy sử dụng và nó rất là Magic nhé [ảo thuật đấy]. Hãy cố học và nhớ lấy các Hằng này nhé!

Tên HằngÝ Nghĩa_LINE_Dòng hiện tại 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 method của lớp.__NAMESPACE__Lấy tên namespace.Classname: : classTên đầy đủ của một lớp.

Ví dụ: mình sẽ chỉ đưa ra một ví dụ nhỏ các bạn có thể tự tìm hiểu thêm hoặc chúng ta sẽ tìm hiểu dần trong những bài học tiếp

Hằng số trong PHP là tên hoặc mã định danh không thể thay đổi trong quá trình thực thi tập lệnh ngoại trừ các hằng số ma thuật, không thực sự là hằng số. Hằng số trong PHP có thể được định nghĩa theo 2 cách:

  1. Sử dụng hàm define[]
  2. Sử dụng từ khóa const

Hằng số tương tự như biến ngoại trừ một khi chúng được định nghĩa, chúng không bao giờ có thể được xác định hoặc thay đổi. Chúng không đổi trong toàn bộ chương trình. Các hằng số PHP tuân theo các quy tắc biến PHP giống nhau. Ví dụ , nó có thể được bắt đầu bằng một chữ cái hoặc chỉ dấu gạch dưới.

Thông thường, các hằng số PHP nên được định nghĩa bằng chữ hoa.

Lưu ý: Không giống như các biến, hằng số tự động là toàn cục trong toàn bộ tập lệnh.

Nội dung chính

1. Hằng số trong PHP: define[]

Sử dụng hàm define[] để tạo một hằng số. Nó khai báo hằng số tại thời gian chạy. Hãy xem cú pháp của hàm define[] trong PHP.

define[name, value, case-insensitive]  
  1. name: Nó chỉ định tên hằng số.
  2. value: Nó chỉ định giá trị không đổi.
  3. case-insensitive: nó phân biệt chữ hoa chữ thường.

Hãy xem ví dụ để định nghĩa hằng số PHP bằng cách sử dụng define[].

Tệp: hằng số1.php

Đầu ra:

Hello Cafedev vs PHP

Tạo một hằng số có tên không phân biệt chữ hoa chữ thường :

Tệp: const2.php

  

Đầu ra:

Hello Cafedev PHP
Hello Cafedev PHP

Tệp: const3.php

 

Đầu ra:

Hello Cafedev PHP
Notice: Use of undefined constant message - assumed 'message' 
in C:cafedev\wamp\www\vconstant3.php on line 4
message

2. Hằng số trong PHP: từ khóa const

PHP đã giới thiệu một từ khóa const để tạo một hằng số. Từ khóa const khai báo các hằng số tại thời điểm biên dịch. Nó là một cú pháp trong ngôn ngữ PHP, không phải là một hàm. Hằng được khai báo bằng từ khóa const có phân biệt chữ hoa chữ thường .

Tệp: const4.php

  

Đầu ra:

Hello const by Cafedev PHP

3. Hàm Constant[]

Có một cách khác để in giá trị của hằng số bằng cách sử dụng hàm constant [] thay vì sử dụng câu lệnh echo.

Cú pháp

Cú pháp cho hàm hằng sau:

constant[name]  

Tệp: const5.php

0

Đầu ra:

1

4. Hằng số so với Biến

Hằng sốBiếnMột khi hằng số được khai báo, nó không bao giờ có thể được khai báo lại.Một biến có thể không được khai báo cũng như được khai báo lại một cách dễ dàng.Một hằng số chỉ có thể được khai báo bằng cách sử dụng hàm define[]. Nó không thể được định nghĩa bằng bất kỳ phép gán đơn giản nào.Một biến có thể được khai báo bằng toán tử gán [=] đơn giản.Không cần sử dụng ký hiệu đô la [$] trước hằng số trong quá trình gán.Để khai báo một biến, luôn sử dụng ký hiệu đô la [$] trước biến.Các hằng số không tuân theo bất kỳ quy tắc xác định phạm vi biến nào và chúng có thể được định nghĩa và truy cập ở bất cứ đâu.Các biến có thể được khai báo ở bất kỳ đâu trong chương trình, nhưng chúng tuân theo các quy tắc xác định phạm vi biến.Hằng là những biến có giá trị không thể thay đổi trong suốt chương trình.Giá trị của biến có thể được thay đổi.Theo mặc định, hằng số là toàn cục.Các biến có thể là cục bộ, toàn cục hoặc tĩnh.

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Tài liệu từ cafedev:

  • Full series tự học PHP từ cơ bản tới nâng cao tại đây nha.
  • Ebook về PHP tại đây.
  • Các nguồn kiến thức MIỄN PHÍ VÔ GIÁ từ cafedev tại đây

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chủ Đề