Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP需要来自多个目录的文件_Php - Fatal编程技术网

PHP需要来自多个目录的文件

PHP需要来自多个目录的文件,php,Php,我曾经尝试过要求多个php文件,现在我尝试要求多个目录中的多个文件,但出现了错误 这是我的目录树: test -config --config_global.php -source --class ---class_core.php ---class_load.php ---class_test.php --include ---include_meta.php class_core.php <?php require __DIR__.'/../.

我曾经尝试过要求多个php文件,现在我尝试要求多个目录中的多个文件,但出现了错误

这是我的目录树:

test
 -config
  --config_global.php
 -source
  --class
   ---class_core.php
   ---class_load.php
   ---class_test.php
  --include
   ---include_meta.php
class_core.php

<?php
require __DIR__.'/../../config/config_global.php';

尝试从
index.php
访问
$con
变量,它可能会工作

->loadClass()
->loadInclude()
之后,您无法访问变量,因为您输入了内部函数


如果使用
$GLOBALS['con']

您可能能够访问其中的
$con
变量如果
需要函数中的
文件,则其中的变量范围为该函数。您需要重新设计一下。这意味着我需要向所有函数文件添加$con变量@伊恩,你有选择的余地。实际上,您试图在这里使用全局变量,这并不是最好的设计决策。一个更为面向对象的方法会让你的代码> CONTIGONGROUNION/COD>文件定义一个保持数据库连接(可能还有其他配置)的类,然后你可以从代码的其他部分调用。@ IAIN,我明白了,我将尝试只为一个PHP连接一个PHP来考虑你的观点,全局变量是一个好的选择吗?或者你会建议我使用其他方法?在大多数情况下,最好的方法可能是集成一种更面向对象的方法,以获得更好的体系结构。
<?php
class Load {
    public function loadClass() {
        $this->files = func_get_args();
        foreach($this->files as $file) {
            require __DIR__."/$file.php";
        }
    }

    public function loadInclude() {
        $this->files = func_get_args();
        foreach($this->files as $file) {
            require  __DIR__."/include/$file.php";
        }
    }
}
<?php
$sql = 'SELECT title FROM article WHERE id = 1';
$result = $con->query($sql);
<?php
$sql = 'SELECT title FROM article WHERE id = 1';
$result = $con->query($sql);
<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', 'root');
define('DB_NAME', 'messageboard');
define('DB_PORT', '3306');

$con = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT);
<?php
require dirname(__FILE__).'/source/class/class_core.php';
require dirname(__FILE__).'/source/class/class_load.php';
$load = new Load;
$load->loadClass('class_test');
$load->loadInclude('include_meta');
Undefined variable: con in /source/class/class_test.php
Undefined variable: con in /source/include/include_meta.php