2013-09-02 3 views
0

Возможно ли напечатать имя функции в рамках той же функцииРаспечатайте название функции внутри функции

например, как я могу сделать следующее:

public function site() 
    { 
     $this->load->model('model_get'); 
     $data["results"] = $this->model_get->getData("**FUNCTION_NAME**"); 
     $this->load->view('view_head', $data); 
    } 

модель будет тянуть записи с полем согласования с предварительно сконфигурированной таблицы, а затем передать его в представление и эхо выходного сигнала.

+0

я хотел бы знать, что это связано с «оптимизацией». –

+0

Если я могу напечатать имя функции внутри функции, у меня может быть отдельный контроллер, управляющий указанным выше, вместо копирования и изменения его для каждой новой страницы. –

+0

'__FUNCTION__' [волшебная константа] (http://php.net/manual/en/language.constants.predefined.php)? –

ответ

1

От внутри функции:

function helloWorld() { 
    echo __FUNCTION__, PHP_EOL; 
} 

helloWorld(); 

дисплеи

helloWorld 

В рамках метода класса:

class Hello { 
    public static function world() { 
     echo __METHOD__, PHP_EOL; 
    } 
} 

Hello::world(); 

дисплеи

Hello::world 

Изнутри метода класса:

class Hello { 
    public static function world() { 
     echo __FUNCTION__, PHP_EOL; 
    } 
} 

Hello::world(); 

отображает

world 

Оба констант работают одинаково при вызове без статических методов с использованием обычных вызовов класса для конкретизированного класса