PHP.mk документација

is_subclass_of

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.is-subclass-of.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.is-subclass-of.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
is_subclass_of

Референца за `function.is-subclass-of.php` со подобрена типографија и навигација.

function.is-subclass-of.php

is_subclass_of

(PHP 4, PHP 5, PHP 7, PHP 8)

is_subclass_ofПроверува дали објектот го има овој клас како еден од неговите родители или го имплементира

= NULL

is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool

Проверува дали даденото object_or_class го има класот class како еден од неговите родители или го имплементира.

Параметри

object_or_class

Име на класа или инстанца на објект. Не се генерира грешка ако класата не постои.

class

Име на класата

allow_string

Ако овој параметар е поставен на false, името на класата како стринг object_or_class , име на класа како стринг

Вратени вредности

Оваа функција враќа true ако објектот object_or_class, припаѓа на класа која е подкласа на class, false otherwise.

Примери

Пример #1 is_subclass_of() example

<?php
// define a class
class WidgetFactory
{
var
$oink = 'moo';
}

// define a child class
class WidgetFactory_Child extends WidgetFactory
{
var
$oink = 'oink';
}

// create a new object
$WF = new WidgetFactory();
$WFC = new WidgetFactory_Child();

if (
is_subclass_of($WFC, 'WidgetFactory')) {
echo
"yes, \$WFC is a subclass of WidgetFactory\n";
} else {
echo
"no, \$WFC is not a subclass of WidgetFactory\n";
}


if (
is_subclass_of($WF, 'WidgetFactory')) {
echo
"yes, \$WF is a subclass of WidgetFactory\n";
} else {
echo
"no, \$WF is not a subclass of WidgetFactory\n";
}


if (
is_subclass_of('WidgetFactory_Child', 'WidgetFactory')) {
echo
"yes, WidgetFactory_Child is a subclass of WidgetFactory\n";
} else {
echo
"no, WidgetFactory_Child is not a subclass of WidgetFactory\n";
}
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

yes, $WFC is a subclass of WidgetFactory
no, $WF is not a subclass of WidgetFactory
yes, WidgetFactory_Child is a subclass of WidgetFactory

Пример #2 is_subclass_of() пример за користење на интерфејс

<?php
// Define the Interface
interface MyInterface
{
public function
MyFunction();
}

// Define the class implementation of the interface
class MyClass implements MyInterface
{
public function
MyFunction()
{
return
"MyClass Implements MyInterface!";
}
}

// Instantiate the object
$my_object = new MyClass;

// Works since 5.3.7

// Test using the object instance of the class
if (is_subclass_of($my_object, 'MyInterface')) {
echo
"Yes, \$my_object is a subclass of MyInterface\n";
} else {
echo
"No, \$my_object is not a subclass of MyInterface\n";
}

// Test using a string of the class name
if (is_subclass_of('MyClass', 'MyInterface')) {
echo
"Yes, MyClass is a subclass of MyInterface\n";
} else {
echo
"No, MyClass is not a subclass of MyInterface\n";
}
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

Yes, $my_object is a subclass of MyInterface
Yes, MyClass is a subclass of MyInterface

Белешки

Забелешка:

Користењето на оваа функција ќе користи било кој регистриран autoloaders ако класата сè уште не е позната.

Види Исто така

  • get_class() - Враќа го името на класата на објект
  • get_parent_class() - Презема име на родителска класа за објект или класа
  • is_a() - Проверува дали објектот е од даден тип или подтип
  • class_parents() - Врати ги родителските класи на дадената класа

Белешки од корисници 3 белешки

gunniboyh на web точка de
19 години пред
is_subclass_of() works also with classes between the class of obj and the superclass.

example:
<?php
class A {};
class B extends A {};
class C extends B {};

$foo=new C();
echo ((is_subclass_of($foo,'A')) ? 'true' : 'false');
?>

echoes 'true' .
nicholas на aquarionics точка net
пред 17 години
This might be useful to someone, so:

If you're using Autoload, you should be aware that this will attempt to autoload $classname if it isn't already loaded. I discovered this when I had something using is_subclass_of inside an error thrown by autoload, which then recursed until it ran out of memory.
alan на jynxy точка net
пред 7 години
The $allow_string parameter is not very clearly documented. When true, it simply allows the first parameter to be the name of a class, instead of an object whose class we are interested in.

Some usage examples:

class parent_class {
    // objects and methods ...
}

$possible_child_object = new possible_child_class(); // might be an extension of parent_class

$result = is_subclass_of($possible_child_object, 'parent_class'); //  valid
$result = is_subclass_of($possible_child_object, 'parent_class', false); //  valid
$result = is_subclass_of('possible_child_class', 'parent_class', true); // valid
$result = is_subclass_of('possible_child_class', 'parent_class', false); // not valid
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.