Hàm get_parent_class() trong PHP là gì ?

05/08/2022 - lượt xem
Chia sẻ
 
Rate this post

Hàm get_parent_class() trong PHP có nhiệm vụ lấy ra tên class Parent của một đối tượng hoặc một Class.

Cú pháp

Cú pháp hàm get_parent_class() trong PHP như sau:

get_parent_class ([ mixed $object ] ) : string

Tham số truyền vào 

  • $object là tên class cần kiểm tra.

Giá trị trả về

Hàm này trả về tên Class Parent nếu tồn tại và FALSE và không tồn tại.

Ví dụ minh họa

<?php

class dad {
    function dad()
    {
    // implements some logic
    }
}

class child extends dad {
    function child()
    {
        echo "I'm " , get_parent_class($this) , "'s son\n";
    }
}

class child2 extends dad {
    function child2()
    {
        echo "I'm " , get_parent_class('child2') , "'s son too\n";
    }
}

$foo = new child();
$bar = new child2();

?>

I'm dad's son
I'm dad's son too

Ứng dụng

<?php
class ParentClass {
    public static function getChain() {
        $chain = null;
        return $function = function($className='') use (& $chain, & $function) {
            if (empty($className))
                $className = static::class;
                // $className sẽ là Class hiện tại
            if (empty($chain))
                $chain = $className;
$parent = get_parent_class($className); if ($parent !== false) { $chain .= " > {$parent}"; return $function($parent); // tiếp tục gọi lại $function nếu có tồn tại class parent, khi nào không còn class parent nữa thì sẽ kết thúc hàm trả về $chain. } return $chain; }; } } class SubChild extends ParentClass {} class Sub2 extends SubChild {} class Sub3 extends Sub2 {} class Sub4 extends Sub3 {} class Sub5 extends Sub4 {} class Sub6 extends Sub5 {} class Sub7 extends Sub6 {} $getChain = Sub7::getChain(); var_dump("%s\n", $getChain('Sub7')); ?>

Trong ví dụ trên bạn có thể thấy, bằng việc ứng dụng Closure Function mà bạn có thể lấy được toàn bộ các Class cha của một Class, giống như ĐỆ QUY, khi nào không còn Class Parent thì sẽ trả về $chain.

Các hàm liên quan

  • get_declared_interfaces() – Lấy tên tất cả các interface.
  • class_implements() – Lấy interface đã implements của class được truyền vào.
  • class_exists() – Kiểm tra xem một Class có tồn tại hay không.

Hi vọng với bài viết này, bạn đã hiểu rõ cách sử dụng hàm get_parent_class() trong PHP. Nếu thấy bài viết hay và ý nghĩa, hãy like và chia sẻ với bạn bè để mọi người cùng nhau học tập nhé. Cảm ơn bạn đã ghé thăm codetutam.com    

 

 

    Liên hệ với chúng tôi

    Để lại thông tin để nhận được các bài viết khác

    Rate this post

    Xem thêm nhiều bài tin mới nhất về Kiến thức

    Xem thêm