Php 如何获取方法调用所源自的类的名称

Php 如何获取方法调用所源自的类的名称,php,codeigniter,Php,Codeigniter,如何获取方法调用所源自的类的名称。 乙二醇 这个问题将帮助我解决这个问题 请检查一下,帮我解决 如何让其他类知道请求来自某个类?您的意思是获取父类名称吗?使用 但是父类必须由子类扩展。我不知道这在CodeIgnitor的情况下是否也有用,但在php中有一个名为的函数可以完成以下任务: class Animal { public function eat($food) { echo "Animal is eating : " . $food; $tree =

如何获取方法调用所源自的类的名称。 乙二醇

这个问题将帮助我解决这个问题 请检查一下,帮我解决


如何让其他类知道请求来自某个类?

您的意思是获取父类名称吗?使用
但是父类必须由子类扩展。

我不知道这在CodeIgnitor的情况下是否也有用,但在php中有一个名为的函数可以完成以下任务:

class Animal {
    public function eat($food) {
        echo "Animal is eating : " . $food;
        $tree = new Tree();
        $tree->grow();
    }
}

class Tree {
    public function grow() {
        $bt = debug_backtrace();
        //var_dump($bt);
        echo "<br />";
        if (isset($bt[1]['object']))
            echo get_class($bt[1]['object']);
        echo "<br />Tree is growing";
    }
}

$animal = new Animal();
$animal->eat("Food");

您还可以将调用方作为参数传递

<?php

Class AnotherClass{

    public function getNameOfOriginatingClass($object){
        echo get_class($object);
    }
}

Class Someclass{

    public function __construct(){
        $A = new AnotherClass();
        $A->getNameOfOriginatingClass($this);
    }

}


$C = new Someclass();

这取决于您的url,但您可以这样做

 function getNameOfOriginatingClass{
     $this->load->library('user_agent');
     $previous_url = $this->agent->referrer();
     $url_segments = explode($previous_url,'/');
     echo '<pre>';print_r($url_segments);    
 }
函数GetNameOfOriginating类{
$this->load->library('user_-agent');
$previous_url=$this->agent->referer();
$url_segments=explode($previous_url,'/');
回显“”;打印($url\u段);
}
打印此结果后,你可以看到你的链接在一个数组中分解成多个部分。。
通常,$url\u段[3]或$url\u段[4]将包含您以前的函数名,而以前的函数名将包含以前的类名,具体取决于您的url。

我需要另一个类来知道请求来自某个类这对我帮助很大,但由于信誉不好,我无法接受或拒绝
<?php

Class AnotherClass{

    public function getNameOfOriginatingClass($object){
        echo get_class($object);
    }
}

Class Someclass{

    public function __construct(){
        $A = new AnotherClass();
        $A->getNameOfOriginatingClass($this);
    }

}


$C = new Someclass();
 function getNameOfOriginatingClass{
     $this->load->library('user_agent');
     $previous_url = $this->agent->referrer();
     $url_segments = explode($previous_url,'/');
     echo '<pre>';print_r($url_segments);    
 }