Hướng dẫn where is the use static variable in php? - sử dụng biến static trong php ở đâu?

Mẹo

Trang này mô tả việc sử dụng từ khóa static để xác định các phương thức và thuộc tính tĩnh. static cũng có thể được sử dụng để xác định các biến tĩnh và cho các ràng buộc tĩnh muộn. Vui lòng tham khảo các trang đó để biết thông tin về những ý nghĩa của static.

Khai báo các thuộc tính hoặc phương thức lớp là tĩnh giúp chúng có thể truy cập mà không cần khởi tạo lớp. Chúng cũng có thể được truy cập thống kê trong một đối tượng lớp khởi tạo.

Phương pháp tĩnh

Bởi vì các phương thức tĩnh có thể gọi được mà không có một thể hiện của đối tượng được tạo ra, nên việc biến giả $ này không có sẵn bên trong các phương thức được khai báo là tĩnh.

Cảnh báo

Gọi các phương thức phi tĩnh là ném một lỗi.Error.

Trước PHP 8.0.0, việc gọi các phương thức phi tĩnh được tính không thể dùng được và tạo ra cảnh báo E_DEPRECATED.E_DEPRECATED warning.

Ví dụ #1 Phương pháp tĩnh ví dụ

class Foo {
    public static function 
aStaticMethod() {
        
// ...
    
}
}
Foo::aStaticMethod();
$classname 'Foo';
$classname::aStaticMethod();
?>

Tính chất tĩnh

Các thuộc tính tĩnh được truy cập bằng toán tử phân giải phạm vi (::) và không thể được truy cập thông qua toán tử đối tượng (->).

Có thể tham chiếu lớp bằng một biến. Giá trị của biến không thể là một từ khóa (ví dụ: self, parentstatic).

Ví dụ #2 ví dụ thuộc tính tĩnh

static1

static2

static3

Đầu ra của ví dụ trên trong Php 8 tương tự như:

foo
foo

Notice: Accessing static property Foo::$my_static as non static in /in/V0Rvv on line 23

Warning: Undefined property: Foo::$my_static in /in/V0Rvv on line 23

foo
foo
foo
foo

Inkredredibl ¶

14 năm trước

static4

payal001 tại gmail dot com

11 năm trước

static5

static6

static7

static8

artekpuck tại gmail dot com

4 năm trước

static9

Quản trị viên tại Shopinson Dot Com ¶

2 năm trước

static0

static1

static2

static3

Ẩn danh ¶

17 năm trước

static4

static5

static6

static7

static8

static9

static0

static1

Ẩn danh ¶

17 năm trước

static2

static3

static1

9 năm trước

4 năm trước

static5

static6

static7

static8

static2

E_DEPRECATED0

Quản trị viên tại Shopinson Dot Com ¶

2 năm trước

E_DEPRECATED1

E_DEPRECATED2

E_DEPRECATED3

static1

Ẩn danh ¶

17 năm trước

E_DEPRECATED5

E_DEPRECATED6

E_DEPRECATED7

static1

9 năm trước

Aschmidt tại Anamera Dot Net

E_DEPRECATED9

class Foo {
    public static function 
aStaticMethod() {
        
// ...
    
}
}
Foo::aStaticMethod();
$classname 'Foo';
$classname::aStaticMethod();
?>
0

class Foo {
    public static function 
aStaticMethod() {
        
// ...
    
}
}
Foo::aStaticMethod();
$classname 'Foo';
$classname::aStaticMethod();
?>
1

class Foo {
    public static function 
aStaticMethod() {
        
// ...
    
}
}
Foo::aStaticMethod();
$classname 'Foo';
$classname::aStaticMethod();
?>
2

Rahul dot anand77 tại gmail dot com ¶

11 năm trước

class Foo {
    public static function 
aStaticMethod() {
        
// ...
    
}
}
Foo::aStaticMethod();
$classname 'Foo';
$classname::aStaticMethod();
?>
3

class Foo {
    public static function 
aStaticMethod() {
        
// ...
    
}
}
Foo::aStaticMethod();
$classname 'Foo';
$classname::aStaticMethod();
?>
4

class Foo {
    public static function 
aStaticMethod() {
        
// ...
    
}
}
Foo::aStaticMethod();
$classname 'Foo';
$classname::aStaticMethod();
?>
5

class Foo {
    public static function 
aStaticMethod() {
        
// ...
    
}
}
Foo::aStaticMethod();
$classname 'Foo';
$classname::aStaticMethod();
?>
6

artekpuck tại gmail dot com

4 năm trước

class Foo {
    public static function 
aStaticMethod() {
        
// ...
    
}
}
Foo::aStaticMethod();
$classname 'Foo';
$classname::aStaticMethod();
?>
7

class Foo {
    public static function 
aStaticMethod() {
        
// ...
    
}
}
Foo::aStaticMethod();
$classname 'Foo';
$classname::aStaticMethod();
?>
8

class Foo {
    public static function 
aStaticMethod() {
        
// ...
    
}
}
Foo::aStaticMethod();
$classname 'Foo';
$classname::aStaticMethod();
?>
9

::0

Quản trị viên tại Shopinson Dot Com ¶

2 năm trước

::1

::2

::3

::4

::5

static1

Ẩn danh ¶

14 năm trước

::7

::8

::9

->0

->1

->2

->3

->4

->5

->6

->7

->8

static1

payal001 tại gmail dot com

2 năm trước

self0

static2

self2

Ẩn danh ¶

14 năm trước

self3

self4

self5

self6

payal001 tại gmail dot com

11 năm trước

self7

self8

self9

artekpuck tại gmail dot com

17 năm trước

parent0

parent1

static2

parent3

9 năm trước

4 năm trước

parent4

parent5

self8

parent7

Quản trị viên tại Shopinson Dot Com ¶

4 năm trước

parent8

parent9

static00

static01

static2

static03

Quản trị viên tại Shopinson Dot Com ¶

4 năm trước

static04

static05

static06

static07

Quản trị viên tại Shopinson Dot Com ¶

2 năm trước

static08

static09

static10

static11

Ẩn danh ¶

17 năm trước

static12

static13

static2

static15

9 năm trước

14 năm trước

static16

payal001 tại gmail dot com

14 năm trước

static17

static06

static19

payal001 tại gmail dot com

2 năm trước

static20

static21

static1

Các biến tĩnh có thể được sử dụng ở đâu?

Sử dụng các biến tĩnh khi: Giá trị của biến độc lập với các đối tượng (không phải là duy nhất cho mỗi đối tượng). Ví dụ. số học sinh. Lưu câu trả lời này.The value of the variable is independent of the objects (not unique for each object). E.g. number of students. Save this answer.

PHP có biến tĩnh không?

Giới thiệu: Một lớp tĩnh trong PHP là một loại lớp chỉ được khởi tạo một lần trong một chương trình. Nó phải chứa một thành viên tĩnh (biến) hoặc hàm thành viên tĩnh (phương thức) hoặc cả hai. Các biến và phương thức được truy cập mà không cần tạo một đối tượng, sử dụng toán tử phân giải phạm vi (: :).It must contain a static member (variable) or a static member function (method) or both. The variables and methods are accessed without the creation of an object, using the scope resolution operator(::).

Việc sử dụng ví dụ biến tĩnh cho ví dụ là gì?

1) Một biến INT tĩnh vẫn còn trong bộ nhớ trong khi chương trình đang chạy.Một biến bình thường hoặc tự động bị phá hủy khi một cuộc gọi hàm trong đó biến được khai báo kết thúc.Ví dụ: chúng ta có thể sử dụng Int Int để đếm một số lần một hàm được gọi, nhưng một biến tự động không thể được sử dụng cho mục đích này.to count a number of times a function is called, but an auto variable can't be used for this purpose.

Trường hợp các biến tĩnh được lưu trữ?

Khi chương trình (thực thi hoặc thư viện) được tải vào bộ nhớ, các biến tĩnh được lưu trữ trong phân đoạn dữ liệu của không gian địa chỉ của chương trình (nếu được khởi tạo) hoặc phân đoạn BSS (nếu không chính xác) và được lưu trữ trong các phần tương ứng của các tệp đối tượng trước đóđể tải.in the data segment of the program's address space (if initialized), or the BSS segment (if uninitialized), and are stored in corresponding sections of object files prior to loading.