gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 01:24:41 25 4
gpt4 key购买 nike

我有 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 时,它返回以下错误:

cannot declare class Database because the name is already in use in database.php on line 4 (this is the line which contains words 'class Database')

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

我该如何纠正?

最佳答案

您想使用 include_once()require_once() .另一种选择是创建一个附加文件,其中包含所有类的正确顺序,这样他们就不需要自己调用 include 了:

“类.php”

include 'database.php';
include 'parent.php';
include 'child1.php';
include 'child2.php';

那么你只需要:

require_once('classes.php');

关于PHP:无法声明类,因为名称已在使用中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42682501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com