Ошибка сервера PHP в Ubuntu 11.10 - PullRequest
0 голосов
/ 07 декабря 2011

Я в 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 Ответ

3 голосов
/ 07 декабря 2011
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, поэтому вы не можете позвонить отсюда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...