php能写class文件么,PHP类在文件中找到Class文件但不找到Class

我在一个文件中定义了一个抽象超类,在另一个文件中定义了一个子类.我需要超类文件和堆栈跟踪报告来查找包含它.

但是,当它到达’extends’行时会返回错误:致命错误:在第7行的View / Markup / HTML / HTML4.01 / HTML4_01Builder.php中找不到类’HTMLBuilder’.

我刚才使用了另一个使用工厂的类树.我刚刚在工厂和消费者之间添加了构建器层.就包含和依赖性而言,工厂层看起来几乎完全相同.

所以这让我觉得我必须做一些愚蠢的事情,导致HTMLBuilder.php文件没有被正确包含或正确解释或其他一些.

这是完整的堆栈跟踪(路径略有改变):

# Time Memory Function Location

1 0.0001 53904 {main}( ) ../index.php:0

2 0.0002 67600 require_once( 'View/Page.php' ) ../index.php:3

3 0.0003 75444 require_once( 'View/Sections/SectionFactory.php' ) ../Page.php:4

4 0.0003 81152 require_once( 'View/Sections/HTML/HTMLSectionFactory.php' ) ../SectionFactory.php:3

5 0.0004 92108 require_once( 'View/Sections/HTML/HTMLTitlebarSection.php' ) ../HTMLSectionFactory.php:5

6 0.0005 99716 require_once( 'View/Markup/HTML/HTMLBuilder.php' ) ../HTMLTitlebarSection.php:3

7 0.0005 103580 require_once( 'View/Markup/MarkupBuilder.php' ) ../HTMLBuilder.php:3

8 0.0006 124120 require_once( 'View/Markup/HTML/HTML4.01/HTML4_01Builder.php' ) ../MarkupBuilder.php:3

这是有问题的代码:

父类(View / Markup / HTML / HTMLBuilder.php):

require_once('View/Markup/MarkupBuilder.php');

abstract class HTMLBuilder extends MarkupBuilder {

public abstract function getLink($text, $href);

public abstract function getImage($src, $alt);

public abstract function getDivision($id, array $classes=NULL, array $children=NULL);

public abstract function getParagraph($text, array $classes=NULL, $id=NULL);

}

?>

子类,(查看/标记/ HTML / HTML4.01 / HTML4_01Builder.php):

require_once('HTML4_01Factory.php');

require_once('View/Markup/HTML/HTMLBuilder.php');

class HTML4_01Builder extends HTMLBuilder {

private $factory;

public function __construct() {

$this->factory = new HTML4_01Factory();

}

public function getLink($href, $text) {

$link = $this->factory->getA();

$link->addAttribute('href', $href);

$link->addChild($this->factory->getText($text));

return $link;

}

public function getImage($src, $alt) {

$image = $this->factory->getImg();

$image->addAttribute('src', $src);

$image->addAttribute('alt', $alt);

return $image;

}

public function getDivision($id, array $classes=NULL, array $children=NULL) {

$div = $this->factory->getDiv();

$div->setID($id);

if(!empty($classes)) {

$div->addClasses($classes);

}

if(!empty($children)) {

$div->addChildren($children);

}

return $div;

}

public function getParagraph($text, array $classes=NULL, $id=NULL) {

$p = $this->factory->getP();

$p->addChild($this->factory->getText($text));

if(!empty($classes)) {

$p->addClasses($classes);

}

if(!empty($id)) {

$p->setID($id);

}

return $p;

}

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值