上面的程式碼是typecho的模板頁面是html和php的混編頁php程式碼含有this 這就比較奇怪了在這段程式碼中並沒有看到類哪裡來的this這個到底是什麼語法還有在這個頁面中看到很多一段的php程式碼那這一段的都可以看做是一整段嗎就是例如在其中一段中定義變數a 然後在另一個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>$this->view('模板地址');</code>
而這個模板裡面的$this, 指向的就是app類別的實例
在php檔案裡面, 以外的程式碼都可以看作在echo一個字串, 各段程式碼的作用域不是獨立的
<code><?php $test = 'hello!world'; ?> html代码 <?php echo $test; //显示hello!world ?></code>