您的位置:首页 > 编程语言 > PHP开发

php类之间的相互调用——易读简明优化代码

2016-07-07 22:42 633 查看
读Thinkphp源码时,学到的写法。

要点在于多用魔术方法

1.A类的方法中调用B类

使用__autoload()方法

A.class.php

<?php

class A{

public function aa(){

echo '我是A类方法';

B::bb();

}

public function __autoload($classname){

$classpath="./".$classname.'.class.php';

  if(file_exists($classpath)){

  require_once($classpath);

}

}

}

?>

----------------

B.class.php

<?php

class B{

static public function bb(){

echo '我是B类方法';

}

}

?>

2.父类调用子类方法

增加红字内容

A.class.php

<?php

A::aa();

class A{

static function aa(){

echo '我是A类方法';

B::bb();

B::cc();

}

public function __autoload($classname){

$classpath="./".$classname.'.class.php';

  if(file_exists($classpath)){

  require_once($classpath);

}

}

}

?>

----------------

B.class.php

<?php

class B{

static protected $z;

static public function bb(){

echo '我是B类方法';

self::$z=new C();

}

static pbulic function __callstatic($method,$args){

if(method_exists(self::$z,$method)){

return call_user_func_array(array(self::$z,$method),$args);

}

}

}

class C{

public function cc(){

echo '这是C类方法';

}

}

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: