为什么这个PHP类是不工作

看到

class Browser{ var $type = ""; public function e(){ return $this->type; } }

当使用

$b = new Browser('human'); echo $b->e();

我maen类型未出现,我让人类的新ArchiveBrowser(风险价值型);

--------------解决方案-------------

  • 不能使用“回声”作为一个函数名。
  • 你是搞乱一个构造函数。 尝试这个

class Browser{
var $type = "";

function __construct($type){
$this->type = $type;
}

public function echo_type(){
return $this->type;
}
}

echo是一个保留字。 此外,您的类被称为Browser ,但你实例化ArchiveBrowser

class Browser
{
// Always declare whether a variable is public or private
private $type = null;
// A constructor - gets excecuted every time you create a class
public function __construct($type)
{
// Note that $type here is not the same as $type above
// The $type above is now $this->type

$this->type = $type; // Store the type variable
}

// Your function e()
public function e ()
{
return $this->type;
}

// __toString() method. (May also be useful)
// it gets excecuted every time you echo the class, see below.
public function __toString ()
{
return $this->e(); // I chose to return function e() output here
}

}

使用示例:

$b = new Browser('Human'); // Note, that this executes __construct('Human');
echo $b->e(); // Echos 'Human'

$b = new Browser('Lolcat'); // Excecutes __construct('Lolcat');
echo $b->__toString(); // Echos 'Lolcat'
echo $b; // Echos 'Lolcat', equivalent to statement above

//Also:
$c = (string) $b;
echo $c; // Echos 'Lolcat'

ArchiveBrowser应扩展浏览器或您应该使用浏览器,而不是ArchiveBrowser。

分类:php 时间:2012-01-01 人气:0
本文关键词: PHP
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.219 (s). 9 q(s)