分享

如何在一个类中访问另一个类的成员函数

 歪SIR 2011-08-30

从ASP转向PHP开发,以前的ASP开发框架的设计思想很不错,所以我现在在用PHP完成以前用ASP的那个框架.这时候遇到一个问题.

在ASP中实例化一个类后只要INCLUDE 之后可以随时在其它类中调用.但PHP中似乎不行.于是找答案,最后在PHPCHINA上解决.

==========================

请问如何在一个类中访问另一个类的成员函数

class a{
   function ita(){
      echo 'ita function';
}
}

class b{
    function itb(){
      //在这里如何我在外部实例化了A类(   $a=new a;   )之后如何访问$a->ita();这个函数
$a->ita();
}

$a=new a;
$b=new b;
echo $b->itb();//会出错.

请问如何在B类的成员函数里访问A类的成员函数或变量(所有类实例化都在类外部进行的.)

===========================

两种解决方法:

1.类外实例化后,当做参数传递到类里.

2.类里写个静态方法,用来返回$a实例,随处调用

class instance{
     private static
$a
;
     static function
getA
{
             if(!
self::$a
){
                   
self::$a = new a
();
           }
           return
self::
$a
    
}
}

class
a
{
       function
ita
(){
          echo
'ita function'
;
}
}

class
b
{
      function
itb
(){
     
//在这里取得a的单例,不会出现多次实例化的现象
    
$a=instance::getA
();    
     
$a->ita
();
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多