Hướng dẫn how can we create static property and class method in php? - làm thế nào chúng ta có thể tạo thuộc tính tĩnh và phương thức lớp trong php?

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

Làm thế nào chúng ta có thể tạo các thuộc tính tĩnh và phương thức của lớp trong PHP?

Để sử dụng Spatic Perpery bên trong bất kỳ phương thức nào của cùng một lớp, hãy sử dụng từ khóa tự thay vì -> toán tử được sử dụng để truy cập các thuộc tính thể hiện. kiểm tra(); ?>use self keyword instead of -> operator that is used for accessing instance properties. test(); ?>

Chúng ta có thể tạo lớp tĩnh trong PHP không?

Trong PHP, chúng ta có thể có cả hai lớp tĩnh cũng như không tĩnh (khởi tạo).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.we can have both static as well as non-static (instantiated) classes. Introduction: A static class in PHP is a type of class which is instantiated only once in a program. It must contain a static member (variable) or a static member function (method) or both.

Phương pháp và tính chất tĩnh trong PHP là gì?

Từ khóa tĩnh được sử dụng để khai báo các thuộc tính và phương thức của một lớp là tĩnh.Các thuộc tính và phương thức tĩnh có thể được sử dụng mà không tạo ra một thể hiện của lớp.Từ khóa tĩnh cũng được sử dụng để khai báo các biến trong một hàm giữ giá trị của chúng sau khi hàm kết thúc.. Static properties and methods can be used without creating an instance of the class. The static keyword is also used to declare variables in a function which keep their value after the function has ended.

Làm thế nào tôi có thể nhận được các thuộc tính tĩnh trong PHP?

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ụ: tự, cha mẹ và tĩnh).In $ foo :: $ my_static.using the Scope Resolution Operator ( :: ) and cannot be accessed through the object operator ( -> ). It's possible to reference the class using a variable. The variable's value cannot be a keyword (e.g. self , parent and static ). print $foo::$my_static .