PHP需要来自多个目录的文件
我曾经尝试过要求多个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__.'/../.
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