Khai báo static trong php

Static là một từ khóa rất là phổ biến trong lập trình hướng đối tượng của PHP.
Khi khai báo một biến, một hàm hay một class là static thì khi đó, chúng ta có thể truy cập nó mà không cần phải khởi tạo.

  1. Nếu một hàm (method) hoặc một biến (variable) được khai báo static mà không chỉ ra rằng đó là private, protected hay public thì mặc định của biến hoặc method đó là public (các bạn nên lưu ý ở điều này).
  2. Tại vì static method có thể được gọi mà không cần phải khởi tạo khi gọi như cách thông thường nên từ khóa $this sẽ không có tác dụng trong method mà được khai báo static. Các static method luôn trả về các giá trị cũng là static. Nếu không thì sẽ có lỗi xuất hiện.
  3. Các biến (variable) static không thể truy cập theo cách thông thường là dùng (->). Mà phải dùng theo cách self::a_variable
  4. Hầu hết các biến static đều dùng để thể hiện ý nghĩa là các biến không thay đổi trong toàn bộ hệ thống (constant).
Ví dụ về cách khai báo static trong PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
class Goc
{
 public static $my_static = 'Bien static';

 public function getStaticVar() {
  return self::$my_static;
 }
}
class Con extends Goc
{
 public function test() {
  return parent::$my_static;
 }
}


print Goc::$my_static . "<br/>";
$goc = new Goc();
echo $goc->getStaticVar() . "<br/>"; 

//Không dùng được theo cách thông thường
echo $goc->my_static . "<br/>";// Undefined property: my_static

echo $goc::$my_static . "<br/>"; 

$con = new Con();
print $con->test() . "<br/>";
?>

 

Chúc các bạn thành công!

Related Posts

Leave a Comment!

Your email address will not be published. Required fields are marked *