Hướng dẫn what is purpose of parent keyword in php? - mục đích của từ khóa cha trong php là gì?

26

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đang tự hỏi sự khác biệt giữa việc sử dụng bản thân :: và cha mẹ :: khi một lớp con tĩnh đang mở rộng lớp phụ huynh tĩnh, ví dụ:

class Parent {

    public static function foo() {
       echo 'foo';
    }
}

class Child extends Parent {

    public static function func() {
       self::foo();
    }

    public static function func2() {
       parent::foo();
    }
}

Có sự khác biệt nào giữa func () và func2 () và nếu vậy thì đó là gì?

Cảm ơn bạn

Trân trọng

Đã hỏi ngày 2 tháng 1 năm 2014 lúc 16:11Jan 2, 2014 at 16:11

Hướng dẫn what is purpose of parent keyword in php? - mục đích của từ khóa cha trong php là gì?

6

                Child has foo()     Parent has foo()
self::foo()        YES                   YES               Child foo() is executed
parent::foo()      YES                   YES               Parent foo() is executed
self::foo()        YES                   NO                Child foo() is executed
parent::foo()      YES                   NO                ERROR
self::foo()        NO                    YES               Parent foo() is executed
parent::foo()      NO                    YES               Parent foo() is executed
self::foo()        NO                    NO                ERROR
parent::foo()      NO                    NO                ERROR

Nếu bạn đang tìm kiếm các trường hợp chính xác cho việc sử dụng của họ. parent cho phép truy cập vào lớp kế thừa, trong khi self là tham chiếu đến lớp mà phương thức chạy (tĩnh hoặc cách khác) thuộc về.

Việc sử dụng từ khóa self phổ biến là khi sử dụng mẫu singleton trong PHP, self không tôn trọng các lớp con

parent cung cấp khả năng truy cập các phương thức lớp kế thừa, thường hữu ích nếu bạn cần giữ lại một số chức năng mặc định.

Đã trả lời ngày 2 tháng 1 năm 2014 lúc 16:27Jan 2, 2014 at 16:27

Hướng dẫn what is purpose of parent keyword in php? - mục đích của từ khóa cha trong php là gì?

Mark Bakermark BakerMark Baker

207K31 Huy hiệu vàng339 Huy hiệu bạc380 Huy hiệu Đồng31 gold badges339 silver badges380 bronze badges

4

Tự được sử dụng để gọi hàm tĩnh và thao tác các biến tĩnh, là loại cụ thể không phải là cụ thể đối tượng.

Đã trả lời ngày 2 tháng 1 năm 2014 lúc 16:49Jan 2, 2014 at 16:49

Hướng dẫn what is purpose of parent keyword in php? - mục đích của từ khóa cha trong php là gì?

Naresh Walianaresh WaliaNaresh Walia

1.9722 Huy hiệu vàng15 Huy hiệu bạc16 Huy hiệu đồng2 gold badges15 silver badges16 bronze badges

Từ khóa tự và cha mẹ

PHP cung cấp hai từ khóa hoạt động với toán tử độ phân giải phạm vi đang theo dõi bên dưới.scope resolution operator are following below.

Từ khóa tự: Điều này đề cập đến lớp hiện tại và nó thường được sử dụng để truy cập các phương thức tĩnh, thuộc tính và không đổi. This refers to the current class and it is usually used to access static methods, property and constant.

Từ khóa cha: Điều này đề cập đến lớp cha. Nó được sử dụng thường xuyên khi chúng ta muốn gọi cho hàm tạo hoặc phương thức của cha mẹ.This refers to the parent class. It is used often to when we want to call the parent constructor or method.

Thí dụ

Name of Brand:".parent::NAME;

echo "
Model of Car:".self::MOD; echo "
Color of Car:".self::COLOR; } } echo "Name of Brand:"; echo Car::NAME; Model::get(); ?>

Đầu ra

Tên của thương hiệu: Audi Tên thương hiệu: Audi Model of Car: R 8 Color of Car: Black
Name of Brand: Audi
Model of Car: R 8
Color of Car: Black

Trong ví dụ trên, có hai lớp xe và mô hình và mô hình là con của lớp xe. Cả hai đều có một số tài sản và hành vi. Nếu bạn muốn truy cập thuộc tính hoặc hành vi tĩnh của lớp cha, thì hãy sử dụng từ khóa cha và nếu bạn muốn truy cập thuộc tính tĩnh hoặc hành vi của lớp con thì hãy sử dụng từ khóa tự

Thuộc tính tĩnh với đối tượng

Name of Brand:".parent::NAME;
 
echo "
Model of Car:".self::MOD; echo "
Color of Car:".self::COLOR; } } $uk=new model(); $uk->get(); ?>

Đầu ra

Tên của thương hiệu: Audi Tên thương hiệu: Audi Model of Car: R 8 Color of Car: Black
Model of Car: R 8
Color of Car: Black

Trong ví dụ trên, có hai lớp xe và mô hình và mô hình là con của lớp xe. Cả hai đều có một số tài sản và hành vi. Nếu bạn muốn truy cập thuộc tính hoặc hành vi tĩnh của lớp cha, thì hãy sử dụng từ khóa cha và nếu bạn muốn truy cập thuộc tính tĩnh hoặc hành vi của lớp con thì hãy sử dụng từ khóa tự


  • Thuộc tính tĩnh với đối tượng
  • Name of Brand:".parent::NAME;
     
    echo "
    Model of Car:".self::MOD; echo "
    Color of Car:".self::COLOR; } } $uk=new model(); $uk->get(); ?>
  • Next>>

Việc sử dụng các từ khóa này và từ khóa trong lớp PHP là gì?

$ Đây là một từ khóa dành riêng trong PHP đề cập đến đối tượng gọi. Nó thường là đối tượng mà phương thức thuộc về, nhưng có thể là một đối tượng khác nếu phương thức được gọi là tĩnh từ bối cảnh của một đối tượng thứ cấp. Từ khóa này chỉ áp dụng cho các phương thức nội bộ.refers to the calling object. It is usually the object to which the method belongs, but possibly another object if the method is called statically from the context of a secondary object. This keyword is only applicable to internal methods.

Cha mẹ và bản thân trong PHP là gì?

Nếu bạn đã ghi đè lên foo () trong lớp con, thì hãy tự :: foo () gọi phiên bản lớp con trong khi Parent :: foo () gọi phiên bản cha mẹ gốc.self::foo() calls the child class version while parent::foo() calls the original parent version.

Bản thân là gì :: trong PHP?

Tự được sử dụng để truy cập các biến hoặc phương thức tĩnh hoặc lớp và điều này được sử dụng để truy cập các biến hoặc phương thức không tĩnh hoặc đối tượng.Vì vậy, hãy sử dụng bản thân khi có nhu cầu truy cập một cái gì đó thuộc về một lớp và sử dụng $ Điều này khi có nhu cầu truy cập một thuộc tính thuộc đối tượng của lớp.used to access static or class variables or methods and this is used to access non-static or object variables or methods. So use self when there is a need to access something which belongs to a class and use $this when there is a need to access a property belonging to the object of the class.

Tĩnh là gì :: trong PHP?

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.used to declare properties and methods of a class as static. 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.