2014-02-26 48 views

回答

0

我不知道這是否會在CodeIgnitor的情況下也是有用的,但在PHP中有一個叫debug_backtrace()功能,可以完成任務如下:

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"); 

輸出:

Animal is eating : Food 
Tree 
Animal 
Tree is growing 
0

你也可以通過調用程序作爲參數

<?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(); 
1

這將d在您的網址epend但你可以打印這個結果可以看出U陣列中的你的鏈接分成部分後,做這樣的事情..

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

.. 通常情況下,$ url_segments [3]或$ url_segments [4 ]將包含您以前的函數名稱,前一個將包含以前的類名稱,具體取決於您的url。

+0

這幫了很多,但我不能接受或投票由於insufficeint聲譽 – nsj

相關問題