ubuntu 11.10中的PHP服务器错误

时间:2011-12-07 00:10:28

标签: php ubuntu

我在Ubuntu 11.10。当我编写一个像echo phpinfo();这样的简单脚本时,它会运行并显示没有错误。但如果我尝试在浏览器服务器错误页面上编写一些额外的PHP代码。这里有什么问题我不明白?

假设我将代码更改为以下内容,则会出现服务器错误;

<?php
class MyClass{
    private $prop;
    public function __construct(){
        echo "The class \"".__CLASS__."\"was created";
    }
    public function __destruct(){
        echo "The class \"".__CLASS__."\" was destroyed";   
    }
    protected function getProperty(){
        return $prop;
    }
    public function __toString(){
        echo "__toString() method called.<br />";
        return $this->getProperty().'<br />';
    }
    public function setProperty($prop){
        $this->prop = $prop;
    }
}
class MyOtherClass extends MyClass{
    public function __construct(){
        parent::__contruct();
        echo "A new constructor in class \"".__CLASS__"\"";
    }
    public function newMethod(){
        echo 'From a new method in class '.__CLASS__.'<br />';
    }
}
$newClass = new MyOtherClass();
echo $newClass->getProperty();
?>

1 个答案:

答案 0 :(得分:3)

class MyClass{
    protected getProperty(){
    //...

    public __toString(){
    //...

    public setProperty($prop){
    //...

class MyOtherClass extends MyClass{
    public __construct(){
    // ...

您在function / public之后的几种方法中遗漏了protected


更多错误:

class MyOtherClass extends MyClass{
    public function __construct(){
        parent::__contruct();
        echo "A new constructor in class \"".__CLASS__"\"";
    }
    //...
  • 您在没有parent::_construct()的情况下拼错了s
  • echo行中,__CLASS__后面缺少.连接运算符。

    echo $newClass->getProperty();

  • MyClass::getProperty()protected,因此您无法在此处拨打电话。