downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

class_exists> <call_user_method
Last updated: Fri, 13 Nov 2009

view this page in

class_alias

()

class_aliasクラスのエイリアスを作成する

説明

boolean class_alias ([ string $original [, string $alias ]] )

alias という名前のエイリアスを、 定義済みのクラス original に対して作成します。 エイリアスは、元のクラスとまったく同一のものとなります。

パラメータ

original

元となるクラス。

alias

クラスのエイリアス名。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例1 class_alias() の例

<?php

class foo { }

class_alias('foo''bar');

$a = new foo;
$b = new bar;

// オブジェクトは同一となります
var_dump($a == $b$a === $b);
var_dump($a instanceof $b);

// クラスは同一となります
var_dump($a instanceof foo);
var_dump($a instanceof bar);

var_dump($b instanceof foo);
var_dump($b instanceof bar);

?>

上の例の出力は以下となります。

bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

参考

  • get_parent_class() - オブジェクトの親クラスの名前を取得する
  • is_subclass_of() - あるオブジェクトが指定したクラスのサブクラスに属するかどうかを調べる



add a note add a note User Contributed Notes
class_alias
paul [dot] kotets [at] gmail [dot] com
03-Sep-2009 07:43
This function will appear in PHP 5.3 (at least I can use it with PHP 5.3, build Aug 7 2009 08:21:14)
For older versions of PHP I wrote the next function:

<?php
if (!function_exists('class_alias')) {
    function
class_alias($original, $alias) {
        eval(
'abstract class ' . $alias . ' extends ' . $original . ' {}');
    }
}
?>

Keyword 'abstract' is used for classes, which defines abstract methods.
This function is used in autoload purposes (when I extend classes), so abstract keyword doesn't broke anything for me.

class_exists> <call_user_method
Last updated: Fri, 13 Nov 2009
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites