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 hàm get_parent_class() trong PHP như sau:
get_parent_class ([ mixed $object ] ) : string
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.
<?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
<?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.
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
Bình luận: