我在 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();
?>
最佳答案
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
,所以你不能从这里调用它。 关于ubuntu 11.10 中的 PHP 服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8408743/