Reputation: 127
I have try this answer about require multiple php files, Now I try to require multiple files from multiple directory,but something got error..
this is my directory tree:
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';
class_load.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";
}
}
}
class_test.php
<?php
$sql = 'SELECT title FROM article WHERE id = 1';
$result = $con->query($sql);
include_meta.php
<?php
$sql = 'SELECT title FROM article WHERE id = 1';
$result = $con->query($sql);
config_global.php
<?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);
index.php
<?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');
My question is, why it can't use the $con
variable in class_test.php
and include_meta.php
from config_global.php
?
It display the error:
Undefined variable: con in /source/class/class_test.php
Undefined variable: con in /source/include/include_meta.php
Upvotes: 0
Views: 81
Reputation: 1544
Try accessing to your $con
variable from index.php
, it will probably work.
You can't access to your variable after ->loadClass()
and ->loadInclude()
because you enter inside functions.
Maybe you will be able to access to your $con
variable in there if you use $GLOBALS['con']
.
Upvotes: 1