PHP:无法声明类,因为名称已在使用中

新手上路,请多包涵

我有 5 个脚本:

  1. database.php
  2. parent.php
  3. child1.php
  4. child2.php
  5. somescript.php

parent.php 类如下所示:

 include 'database.php';

class Parent {
    public $db;
    function __construct() {
        $this->db = new Database();
    }
}

child1.phpchild2.php 类如下所示:

 include 'parent.php';

class Child1 extends Parent {
    function __construct() {
        parent::__construct();
    }

    function useDb() {
        $this->db->some_db_operation();
    }
}

问题

当我尝试在 somescript.php 中同时包含 child1 和 child2 时,它返回以下错误:

无法声明类数据库,因为该名称已在第 4 行的 database.php 中使用 (这是包含单词“类数据库”的行)

但如果我只包含一个文件(child1 或 child2),它会很好用。

我该如何纠正?

原文由 egorik 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 433
1 个回答

类 Parent 不能被声明,因为它是 PHP 保留关键字,所以实际上它已经在使用中

原文由 gentle 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题