PHP中include的问题

有4个页面BaseDao.php, UserDao.php, ProductDao.php, index.php
BaseDao.php页面有一个BaseDao基类
UserDao.php有一个UserDao类继承BaseDao,include("BaseDao.php")
ProductDao.php有一个ProductDao类继承BaseDao,include("BaseDao.php")
然后index.php页面需要使用UserDao和ProductDao,所以 include(''UserDao.php'),include(''ProductDao.php'),但是这时会报BaseDao重复定义的错误,本人初学PHP,还请各位高手给一个比较好的解决方案,谢谢了~
最新回答
怕失望

2024-09-27 08:29:21

扯淡一大堆。include_once会耗费性能。是以下四种引入方式中最耗费性能的一种方法。
require
include
require_once
include_once

介绍一下我的方式:
PHP有个class_exists函数,判断类是否存在。
引入的话用require,性能最高,而且文件不存在的话会报错不继续往下走。
子类中用class_exists判断下

if(!class_exists('BaseDao')) {
require('xxxx.php');
}
classs xxx extends BaseDao { ...... }
永不言弃

2024-09-27 04:33:55

你好,将include 改为 include_once 即可,其他不变。
include_once 是 只引用一次的意思。就不会重复了。
写不尽的思念

2024-09-27 10:23:32

使用 include_once()
害羞的初恋

2024-09-27 13:22:16

只连接一次:include_once()