Biến Tĩnh PHP – PHP STATIC VARIABLES là gì ?

Biến là một khái niệm quen thuộc trong lập trình, còn biến tĩnh là một loại biến được sử dụng trong PHP. Trong bài viết này, chúng ta sẽ tìm hiểu về tính năng của biến tĩnh PHP, cách sử dụng, ưu và nhược điểm và lời khuyên khi sử dụng.

Lập Trình Viên mời bạn cùng tham khảo chi tiết nội dung bên dưới. Bài viết này nằm trong chuyên đề hướng dẫn PHP từ cơ bản đến nâng cao tại dự án Phát Triển Website.

Tính năng của Biến Tĩnh PHP

Biến tĩnh PHP là một biến có giá trị được lưu trữ và duy trì giá trị sau mỗi lần gọi hàm. Nó tồn tại ngoài phạm vi của hàm hoặc phương thức, nghĩa là giá trị được lưu trữ không bị mất khi hàm kết thúc. Biến tĩnh được khai báo bằng từ khóa “static” và không thể thay đổi giá trị trong suốt chương trình.

Với tính năng này, biến tĩnh rất hữu ích cho các trường hợp lưu trữ thông tin mà không cần phải lưu vào cơ sở dữ liệu hoặc khi thông tin cần được duy trì trong suốt quá trình thực thi của chương trình, hoặc để đếm số lần một hàm được gọi.

Tổng quan Biến Tĩnh PHP

Để khai báo một biến tĩnh PHP, ta sử dụng từ khóa “static” trước tên biến và gán cho nó giá trị ban đầu.

static $count = 0;

Giá trị này sẽ được duy trì và cập nhật sau mỗi lần gọi hàm hoặc phương thức.

Có một số lưu ý về biến tĩnh PHP:

  • Chúng ta không thể sử dụng biến tĩnh bên trong một phương thức không phải là tĩnh.
  • Biến tĩnh chỉ tồn tại trong một lớp và không phải là toàn cục.
  • Biến tĩnh có thể được sử dụng để lưu trữ các giá trị tạm thời trong suốt quá trình thực thi của chương trình.

Hướng dẫn Biến Tĩnh PHP

Để sử dụng biến tĩnh PHP, ta cần tuân theo một vài quy tắc sau đây:

  1. Khai báo biến tĩnh bằng từ khóa “static” trước tên biến.
  2. Gán giá trị ban đầu cho biến tĩnh.
  3. Sử dụng biến tĩnh bên trong phương thức hoặc hàm bằng cách sử dụng tên biến và từ khóa “self”.
class MyClass {

    static $count = 0;

    public function __construct() {
        self::$count++;
    }

    public static function getCount() {
        return self::$count;
    }

}

Trong ví dụ trên, ta khai báo một lớp có biến tĩnh “count”. Mỗi khi một đối tượng được tạo ra từ lớp này, giá trị của biến tĩnh sẽ được tăng lên một. Phương thức “getCount” sẽ trả về giá trị hiện tại của biến tĩnh.

Cách triển khai biến tĩnh PHP

Để triển khai biến tĩnh PHP, bạn cần làm theo các bước sau:

  1. Khai báo biến static trong hàm hoặc lớp.
  2. Gán giá trị cho biến static.
  3. Truy cập biến static từ bên trong hàm hoặc lớp.

Khai báo biến static

Để khai báo biến static, bạn chỉ cần sử dụng từ khóa static trước tên biến. Ví dụ:

function count() {
    static $count = 0;
}

Gán giá trị cho biến static

Bạn có thể gán giá trị cho biến static bằng cách sử dụng toán tử gán (=). Ví dụ:

function count() {
    static $count = 0;
    $count++;
}

Truy cập biến static

Bạn có thể truy cập biến static bằng cách sử dụng toán tử phạm vi truy cập (::). Ví dụ:

function count() {
    static $count = 0;
    return $count;
}

echo count(); // 0

Ví dụ

Dưới đây là một ví dụ về cách triển khai biến tĩnh PHP:

function count() {
    static $count = 0;
    $count++;
    return $count;
}

echo count(); // 1
echo count(); // 2
echo count(); // 3

Trong ví dụ này, hàm count() sử dụng biến static $count để lưu trữ số lần hàm được gọi. Biến $count được khởi tạo với giá trị 0 và được tăng lên 1 mỗi khi hàm count() được gọi. Do đó, khi hàm count() được gọi lần thứ ba, giá trị của biến $count sẽ là 3.

Lưu ý

Bạn cần lưu ý rằng các biến static sẽ không được xóa khỏi bộ nhớ cho đến khi chương trình kết thúc. Do đó, bạn nên sử dụng các biến static một cách cẩn thận để tránh rò rỉ bộ nhớ.

Một số mẹo khi sử dụng biến tĩnh PHP:

  • Sử dụng các biến static để lưu trữ các giá trị cần được truy cập từ nhiều nơi trong một hàm hoặc giữa nhiều lần gọi hàm khác nhau.
  • Sử dụng các biến static một cách cẩn thận để tránh rò rỉ bộ nhớ.
  • Thử nghiệm các ứng dụng của bạn để đảm bảo rằng chúng không sử dụng quá nhiều bộ nhớ.

Ưu và Nhược điểm Biến Tĩnh PHP

Ưu điểm:

  • Biến tĩnh cho phép chúng ta lưu trữ thông tin trong suốt quá trình thực thi của chương trình.
  • Giá trị của biến tĩnh được duy trì giữa các lần gọi hàm hoặc phương thức, giúp cho việc lưu trữ thông tin dễ dàng hơn.
  • Biến tĩnh có thể được sử dụng để theo dõi số lần một hàm được gọi.

Nhược điểm:

  • Sử dụng quá nhiều biến tĩnh có thể làm cho chương trình của bạn trở nên khó hiểu và khó bảo trì.
  • Việc sử dụng biến tĩnh có thể ảnh hưởng đến hiệu suất của chương trình.

Lời khuyên Biến Tĩnh PHP

Khi sử dụng biến tĩnh PHP, chúng ta cần tuân thủ một số quy tắc sau để đảm bảo rằng chương trình của chúng ta hoạt động tốt:

  1. Không sử dụng quá nhiều biến tĩnh trong chương trình của bạn.
  2. Đặt tên biến sao cho rõ ràng và dễ hiểu.
  3. Sử dụng biến tĩnh khi cần lưu trữ thông tin trong suốt quá trình thực thi của chương trình.
  4. Tránh sử dụng biến tĩnh trong các trường hợp khác, để giảm thiểu ảnh hưởng đến hiệu suất của chương trình.

Kết luận

Biến tĩnh PHP là một tính năng hữu ích cho phép lưu trữ thông tin trong suốt quá trình thực thi của chương trình và dễ dàng theo dõi số lần một hàm được gọi. Tuy nhiên, ta cần tuân thủ các quy tắc khi sử dụng biến tĩnh để đảm bảo rằng chương trình của chúng ta hoạt động tốt và dễ bảo trì.Nếu sử dụng quá nhiều biến tĩnh, chương trình của bạn có thể trở nên khó hiểu và ảnh hưởng đến hiệu suất. Vì vậy, hãy sử dụng biến tĩnh một cách cẩn thận và đúng cách để tối ưu hoá chương trình của bạn. 

Tại sao chúng ta nên sử dụng biến tĩnh PHP?

Biến tĩnh cho phép lưu trữ thông tin trong suốt quá trình thực thi của chương trình và dễ dàng theo dõi số lần một hàm được gọi.

Có bao nhiêu loại biến tĩnh trong PHP?

Trong PHP, chỉ có một loại biến tĩnh.

Biến tĩnh có thể được sử dụng bên trong các phương thức không phải là tĩnh không?

Không, biến tĩnh chỉ có thể được sử dụng bên trong các phương thức tĩnh.

Tại sao cần tuân thủ các quy tắc khi sử dụng biến tĩnh?

Tuân thủ các quy tắc giúp đảm bảo rằng chương trình của bạn hoạt động tốt và dễ bảo trì.

Biến tĩnh ảnh hưởng đến hiệu suất của chương trình như thế nào?

Sử dụng quá nhiều biến tĩnh có thể ảnh hưởng đến hiệu suất của chương trình của bạn.