【发布时间】:2015-02-21 22:35:04
【问题描述】:
最近遇到一个具体的问题,就是两次包含一个文件(实际上是一堆文件两次),但是由于系统的复杂性,我还没有找到解决问题的方法,我已经创建的。下面是我的文件系统的草图。
http://flockdraw.com/gallery/view/1976405
你看,我的主文件是connection.php(建立数据库连接的地方),其中包括constants.php。然后我有两个包含连接的文件(并且真正扩展了类,因为这两个文件具有不同的数据库和用途):database.php(用户数据库的数据库操作)和 uni_database(我正在使用的另一个数据库的数据库操作)。这两个文件分别由 session.php(使用 database.php 类的函数)和 uni_class(使用 uni_database 类的函数)分别使用。
我必须将这两个文件(uni_class 和 session.php)包含到我的几乎任何其他页面中,但是当我这样做时,我包含常量和连接两次,这会导致错误。
我有一个解决方案,只使用一个到数据库的连接,一个用于数据库操作(查询)的文件,但是我再次将 uni_class 和 session 类放在一个文件中似乎不合逻辑。
【问题讨论】:
-
使用
include_once或require_once,查看手册。 -
使用自动加载器,例如SPL_Autoload
-
您可以使用 'function_exists' 或检查常量的定义来确定文件是否已被包含。
-
我建议对这个问题进行编辑,以将标签数量减少到对问题的具体情况有意义的集合。