Heim  >  Artikel  >  Backend-Entwicklung  >  typecho - html和php混编问题

typecho - html和php混编问题

WBOY
WBOYOriginal
2016-08-04 09:20:45840Durchsuche

typecho - html和php混编问题
上面的代码是typecho的模板页面 是html和php的混编页面 php代码中含有this 这就比较奇怪了 在这段代码中并没有看到类 哪里来的this这个到底是什么语法 还有在这个页面中看到很多一段一段的php代码 那这一段一段的都可以看做是一整段吗 就是比如在其中一段中定义变量a 然后在另一个php块中可以取到值么 刚刚接触 忘指点

回复内容:

typecho - html和php混编问题
上面的代码是typecho的模板页面 是html和php的混编页面 php代码中含有this 这就比较奇怪了 在这段代码中并没有看到类 哪里来的this这个到底是什么语法 还有在这个页面中看到很多一段一段的php代码 那这一段一段的都可以看做是一整段吗 就是比如在其中一段中定义变量a 然后在另一个php块中可以取到值么 刚刚接触 忘指点

$this代表自身的对象;
$this->$name 是以$name的内容作为对象的属性名称,存取对象属性
比如先指定$name=‘address’;
$this->$name 就等价于$this->address

这个this一般指向应用或框架内核

<code><?php class App
{
    public function view($template, $return = true) 
    {
        ob_start();
        include $template;
        $content = ob_get_contents();
        if ($return) {
            return $content;
        } else {
            echo $content;
        }
    }
}
</code></code>

当控制器显示模板时, 一般会调用

<code>$this->view('模板地址');</code>

而这个模板里面的$this, 指向的就是app类的实例

在php文件里面, 之外的代码都可以看作在echo一个字符串, 各段代码的作用域不是独立的

<code><?php $test = 'hello!world';
?>

html代码

<?php echo $test; //显示hello!world
?></code>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn