2010-06-25 58 views
1

我是新來的PHP,我試圖寫一個非常簡單的類:使用這個 - >語法在PHP訪問非靜態屬性

<?php 
    class Course { 
     private $credits; 
     public function getCredits() { 
     return $this->credits; 
     } 
    } 
?> 

的問題是,當我打開這個在瀏覽器中,我見:

學分; }}?>

所以它看起來像瀏覽器回顯「this->後面的所有內容 - 有什麼我需要在php.ini中配置嗎? 感謝您的幫助!

+0

這是奇怪的。它看起來像是將'>'看作'<?php'的結束標記。這是整個文件嗎? – 2010-06-25 05:16:53

回答

9

您不能通過打開的對話框直接將.php文件加載到瀏覽器中。

你得到這一結果的原因是

<?php class Course { private $credits; public function getCredits() { return $this->credits; } }
?>

是被解釋爲一個單一的(無效)HTML標籤

<?php class Course { ... $this->

隨後的剩下的東西被認爲是純文本。

在加載到瀏覽器之前,php的東西需要由php解釋器解析。這通常通過運行帶有php支持的web服務器來完成 - 比如Apache。

結帳XAMPP一個快速的方法開始使用這個

XAMPP - http://www.apachefriends.org/en/xampp.html

+0

+1 Oooh是他的意思.... – 2010-06-25 05:17:49

+0

嗯 - 這聽起來是正確的 - 它採取 - >作爲結束標籤。我確實將這段代碼嵌入到html body標籤中,並且我正在XAMPPlite下運行這個代碼,它已經很好地執行了其他PHP代碼。 - 但我想我只會看到一個空白頁 - 所以我真的需要做什麼?當我使用「this」語法時,我只遇到了這個問題。 – user375920 2010-06-25 08:22:01

+0

你是通過瀏覽器打開文件還是通過轉到'http:// localhost/page.php'執行? – 2010-06-25 13:25:00

0

事實證明,我是有這個問題是由於我安裝的XAMPP的某種錯誤的。問題只是間歇性地出現,看起來像「>」被解釋爲結束標記。但是我可以採用相同的代碼並在遠程網站上運行,沒有任何問題。而且有50%的時間,它也可以在我自己的服務器上正常工作。仍然好奇,如果有人看到這個問題,但?