加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php操作类与对象的函数二

发布时间:2020-12-13 14:16:25 所属栏目:PHP教程 来源:网络整理
导读:《php操作类与对象的函数二》要点: 本文介绍了php操作类与对象的函数二,希望对您有用。如果有疑问,可以联系我们。 class_alias为类创建一个别名 格式:bool class_alias(str $original,str $alias[,bool $autoload=TRUE]) class foo { } class_alias(foo,

《php操作类与对象的函数二》要点:
本文介绍了php操作类与对象的函数二,希望对您有用。如果有疑问,可以联系我们。

php操作类与对象的函数二

class_alias为类创建一个别名

格式:bool class_alias(str $original,str $alias[,bool $autoload=TRUE])

class foo { }

class_alias('foo','bar');

此时foo与bar这两个类一样

get_called_class获取类的名称,静态方法被调用,无参数,类内使用

格式:string get_called_class ( void )

class foo {

static public function test() {

var_dump( get_called_class() );

}

}

class bar extends foo {}

foo::test();//foo

bar::test();//bar

get_class_vars获取可以从当前范围访问的类的默认属性

格式:array get_class_vars ( string $class_name )

class myclass {

var $var1; //无默认值

var $var2 = "xyz";

var $var3 = 100;

private $var4;

function __construct() {

// change some properties

$this->var1 = "foo";

$this->var2 = "bar";

return true;

}

}

$my_class = new myclass();

print_r( get_class_vars(get_class($my_class)) );

print_r( get_object_vars($my_class) );

输出:

Array(

[var1] =>

[var2] => xyz

[var3] => 100

)

Array(

[var1] => foo

[var2] => bar

[var3] => 100

)

get_declared_interfaces返回所有已声明的接口的数组

格式:array get_declared_interfaces ( void )

interface haha{}

print_r(get_declared_interfaces());

get_declared_traits返回所有已声明为trait的数组

格式:array get_declared_traits ( void )

trait Trait1 {

public function hello() {}

}

trait Trait2 {

public function hi() {}

}

print_r(get_declared_traits());

interface_exists检查接口是否已定义

格式:bool interface_exists (str $interface_name [,bool $autoload = true ] )

if (interface_exists('Myface')) {

class MyClass implements Myface

{ // Methods }

}

is_subclass_of检查对象是否有这个类作为它的一个父类或实现它

格式:bool is_subclass_of ( mixed $object,string $class_name [,bool $allow_string = TRUE ] )

class Factory{

var $oink = 'father';

}

class F_Child extends Factory{

var $oink = 'child';

}

if (is_subclass_of('F_Child','Factory')) {

echo "是,F_Child 有父类 Factoryn";

} else {

echo "不,F_Child 没有父类Factoryn";

}

输出:是,F_Child 有父类 Factory

trait_exists检查trait类是否存在

格式:bool trait_exists ( string $traitname [,bool $autoload ] )

trait World {

private static $instance;

protected $tmp;

public static function World(){

//将(hello)对象赋值给静态属性

self::$instance = new static();

self::$instance->tmp = get_called_class().' '.__TRAIT__;

return self::$instance;//返回一个对象

}

}

if ( trait_exists( 'World' ) ) {

class Hello {

use World;

public function text( $str ){

return $this->tmp.$str;

}

}

}

echo Hello::World()->text('!!!'); // Hello World!!!

《php操作类与对象的函数二》是否对您有启发,欢迎查看更多与《php操作类与对象的函数二》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读