从外部函数

时间:2016-07-13 20:40:15

标签: php

在模板php文件中,我有数百个这样的代码:

echo str_replace('x','y', $this->load1->view('something'));

我已经用代码替换了那条线:

echo blabla();

并在我的核心库中放置了一个函数:

function blabla(){ 
   return str_replace('x','y', $GLOBALS['this']->load1->view('something'));
}

但它会触发错误:Fatal error...

2 个答案:

答案 0 :(得分:1)

在PHP中,$this引用当前对象。例如:

class MyClass {
    protected $attribute;

    public function method() {
        $this->attribute;
    }

    public static function staticMethod() {
      //$this is not available here because of the static context!
    }
}

$this用于MyClass

有关详细信息http://php.net/manual/en/language.oop5.basic.php

答案 1 :(得分:1)

Re:您编辑的问题,$this仅存在于班级中。

您有两种选择:

function blabla($something){ 
   str_replace('x','y', $something);
}

blablah($this->load1->view('something'));

或者,将function blabla() {放入班级,然后放弃global $this行。