2010-06-25 61 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%的时间,它也可以在我自己的服务器上正常工作。仍然好奇,如果有人看到这个问题,但?